如何从cookie指定数据中检索? JQuery的

时间:2012-09-30 11:52:16

标签: javascript jquery cookies

我目前正在处理一个简单的待办事项列表。我将任务存储在cookie中,当网页重新加载时,我从cookie中检索我以前的任务。但是我无法将完成的任务保存在那里,即我标记为完成的任务。

function toHTML(id, text) {

    return '<div class="todo" id="' + id + '">' +
        '<div id="' + cbid + '"><input type="checkbox" class="check_todo" name="check_todo"/></div>' +
        '<div class="todo_description" contentEditable = "true">' +
            text +
        '</div>' +
        '<img src = "sun-icon.gif" class="close" title = "Delete the Task" />' +
    '</div>';
}

当我按下复选框时,带有class =“todo”的div获得class =“checked”并且此div中的文本(todo_description)变为交叉,而class =“todo”本身的div也会获得另一种颜色。

$('#item-' + counter +' .check_todo').unbind('click');
    $('#item-' + counter +' .check_todo').click( function() {   
        var todo = $(this).parent().parent();
        todo.toggleClass('checked');

    });

当我重新加载页面时,我看到我之前的任务但未完成任务,因为我只从cookie中检索文本:

 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;   
    }

//这里我显示我的任务

var cookies = get_cookies_array();
        var i = 0;
        for(var name in cookies) {
            $('.todo_list').prepend(toHTML('item-' + (i++), cookies[name]));
             }

我试着检查班级“已检查”之类的 if $(cookies[name]).hasClass('checked') { make stylings for this div} 但这不起作用,我需要检查div与class =“todo”,当我按下复选框时,它变为“todo checked”。

如果有人可以帮助我,我会很高兴!

1 个答案:

答案 0 :(得分:0)

如果您想检查复选框是否已选中,您可以尝试:

$('#id_checkbox').is(':checked'); 

如果您想在不重新加载页面的情况下获取cookie,可以在set和get之间设置setTime