首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用cookie,JQuery,Javascript?

问如何使用cookie,JQuery,Javascript?
EN

Stack Overflow用户
提问于 2012-09-27 23:56:49
回答 1查看 722关注 0票数 1

我目前正在创建一个简单的待办事项列表,我在使用cookie时遇到了麻烦。当我删除行$.cookie(todoDescription+1, todoDescription);时,用于添加任务的按钮将工作,并且新任务将添加到列表中。但是当我离开网页中的这一行时,它会闪烁,什么也不会发生。

代码语言:javascript
复制
   $(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;   
    }

如果有人能帮我,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-28 00:01:51

下面是jQuery cookie的用法说明

创建会话cookie:

代码语言:javascript
复制
$.cookie('the_cookie', 'the_value');

创建即将过期的cookie,7天后:

代码语言:javascript
复制
$.cookie('the_cookie', 'the_value', { expires: 7 });

创建过期cookie,对整个站点有效:

代码语言:javascript
复制
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });

阅读cookie:

代码语言:javascript
复制
$.cookie('the_cookie'); // => "the_value"
$.cookie('the_cookie', { raw: true }); // => "the_value" not URL decoded
$.cookie('not_existing'); // => null

删除cookie:

代码语言:javascript
复制
// returns false => No cookie found
// returns true  => A cookie was found
$.removeCookie('the_cookie'[, options]);

注意:删除cookie时,您必须传递用于设置cookie的完全相同的路径、域和安全选项,除非您依赖的是默认选项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12625395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档