Jquery附加列表并使用cookie插件保存

时间:2012-09-26 09:10:30

标签: jquery cookies html-lists appendchild

我有一个脚本,我可以使用点击事件和cookie插件保存纯文本:

$('.fields').click(function(e) {
    var text = $('#inputBox').val();
    $.cookie('demoCookie',text,{expires: 7, path: '/' });
    $(".jq-text").text(text);
    .....

cookie就像这样调用:

var cookie = $.cookie('demoCookie');    
if (cookie){
    $('.jq-text').text(cookie).show();

所以现在我想附加一个包含链接的列表,当然要用cookie保存它:

$('.fields').click(function(e) {
    var text = $('#inputBox').val();
    $.cookie('demoCookie',text,{expires: 7, path: '/' });
    $(".jq-text").append('<li><a href="' + text + '">' + text + '</a></li>');

我无法让它发挥作用:JsFiddle

保存文本但不保存列表和href。

ps问题可能是动态创建的列表消失了,第二个刷新了页面..

1 个答案:

答案 0 :(得分:2)

问题是每次保存时都会覆盖该值。这就是为什么你只能回读你添加的最后一个。您需要阅读已经存在的内容,附加到该内容,然后再次保存。

创建一个数组以保存您的值并在将其写入cookie时将其设为JSON字符串可能是个好主意。然后当你回读它时,你可以再次将JSON解析成一个数组(parseJSON jQuery命令)并添加你的新值。

这是一个经过编辑的小提示,显示我的意思:http://jsfiddle.net/dx6CN/3/