我目前正在创建一个简单的待办事项列表,我在使用cookie时遇到了麻烦。当我删除行$.cookie(todoDescription+1, todoDescription);时,用于添加任务的按钮将工作,并且新任务将添加到列表中。但是当我离开网页中的这一行时,它会闪烁,什么也不会发生。
$(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;
}如果有人能帮我,我将不胜感激。
发布于 2012-09-28 00:01:51
下面是jQuery cookie的用法说明
创建会话cookie:
$.cookie('the_cookie', 'the_value');创建即将过期的cookie,7天后:
$.cookie('the_cookie', 'the_value', { expires: 7 });创建过期cookie,对整个站点有效:
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });阅读cookie:
$.cookie('the_cookie'); // => "the_value"
$.cookie('the_cookie', { raw: true }); // => "the_value" not URL decoded
$.cookie('not_existing'); // => null删除cookie:
// returns false => No cookie found
// returns true => A cookie was found
$.removeCookie('the_cookie'[, options]);注意:删除cookie时,您必须传递用于设置cookie的完全相同的路径、域和安全选项,除非您依赖的是默认选项。
https://stackoverflow.com/questions/12625395
复制相似问题