【问题标题】:Jquery cookie holds last value when deletedJquery cookie在删除时保留最后一个值
【发布时间】:2023-03-13 12:40:01
【问题描述】:

请看我的网站:moskah.nl

如果您在字段中输入内容,请保存并刷新。您会注意到 cookie 保存了该值。现在,如果您单击列表,它将被删除。现在尝试存储多个列表并再次删除它们。您将看到最后单击的列表项不会被删除(刷新时)

我不知道为什么会这样。我也不能给你一个关于 jsfiddle 的例子,因为它在那里不起作用。请查看网站的源代码(它非常小)以了解发生了什么。

这块是保存cookie值的

    $('.fields a').click(function(e) {
        var text = $('#inputBox').val();
        var values = $.parseJSON($.cookie('myDemoCookie'));
        if (!values) {
            values = [];
        }
        values.push(text);

        $.cookie('myDemoCookie',JSON.stringify(values),{expires: 7, path: '/' });


$(".jq-text").append('<li><a href="' + text + '">' + text + '</a></li>');

        e.preventDefault();

    });

这是为了删除列表:

$('.jq-text li').live('click', function(e) {
    var values = [];

    $(".jq-text").find('a').each(function(i, item) {

        values.push($(item).text());
    });


    $.cookie('myDemoCookie', JSON.stringify(values), {
        expires: 7
    });
    $(this).remove();
    e.preventDefault();


});

【问题讨论】:

    标签: json cookies jquery


    【解决方案1】:

    试试这个:https://github.com/tantau-horia/jquery-SuperCookie

    设置cookie:

    $.super_cookie().create("name_of_the_cookie",{name_field_1:"value1",name_field_2:"value2"});
    

    插入值:

    $.super_cookie().add_value("name_of_the_cookie","name_field_3","value3");
    

    删除值:

    $.super_cookie().remove_value("name_of_the_cookie","name_field_1"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-19
      • 1970-01-01
      • 2021-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多