简体   繁体   中英

How to use cookie , JQuery, Javascript?

I'm currently creating a simple todo list, I'm having a trouble with cookies. When i remove the line $.cookie(todoDescription+1, todoDescription); the button to add a task works, and the new task is added to the list. But when i leave this line in the web page blinks and nothing happens.

   $(document).ready( function() {  

    showCookies();            // to show previous tasks when page is reloaded
    var all =0;

        $('#add_todo').click( function() {                 // button that adds a task

        var cookies = get_cookies_array() ;

        var todoDescription = $('#todo_description').val();   // string from textinput
           var mykey = todoDescription + 1;            //i jst decided to have such key

         $.cookie(todoDescription+1, todoDescription);     //this line doesnt work!

            //add task
            $('.todo_list').prepend(
            '<div class="todo">'
                + '<div>'
                    + '<input type="checkbox" id = "cb" class="check_todo" name="check_todo"/>'
                + '</div>'

                + '<div class="todo_description" contentEditable = "true">'
                    + todoDescription
                + '</div>'

                +'<div id = "delete">' +'<input id = "x" type = "submit" value = "X" onclick = "$.cookie('todoDescription+1',null);$(this).parent().parent().remove();"/>'+ '</div>'
            +'</div>');

           return false;



        }); //end add todo



    });

    function showCookies()
    {

    var cookies = get_cookies_array() ;
        for(var name in cookies) {
        if(name == cookies[name]+1){
             $('.todo_list').prepend(
            '<div class="todo">'
                + '<div>'
                    + '<input type="checkbox" id = "cb" class="check_todo" name="check_todo"/>'
                + '</div>'

                + '<div class="todo_description" contentEditable = "true">'
                    + cookies[name]
                + '</div>'

                +'<div id = "delete">' +'<input id = "x" type = "submit" value = "X" onclick = "$.cookie('name',null);$(this).parent().parent().remove();"/>'+ '</div>'
            +'</div>');
        }
        }

    }
     function get_cookies_array(){ 

          var cookies = { };
            if (document.cookie && document.cookie != '') {

                var split = document.cookie.split(';');
                    for (var i = 0; i < split.length; i++) {
                    var name_value = split[i].split("=");
                    name_value[0] = name_value[0].replace(/^ /, '');
                    cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
        } 
    }
    return cookies;   
    }

I'd appreciate it if someone could help me.

Following is the description of Usage of jQuery cookie

Create session cookie:

$.cookie('the_cookie', 'the_value');

Create expiring cookie, 7 days from then:

$.cookie('the_cookie', 'the_value', { expires: 7 });

Create expiring cookie, valid across entire site:

$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });

Read cookie:

$.cookie('the_cookie'); // => "the_value"
$.cookie('the_cookie', { raw: true }); // => "the_value" not URL decoded
$.cookie('not_existing'); // => null

Delete cookie:

// returns false => No cookie found
// returns true  => A cookie was found
$.removeCookie('the_cookie'[, options]);

Note: when deleting a cookie, you must pass the exact same path, domain and secure options that were used to set the cookie, unless you're relying on the default options that is.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM