0

私のウェブサイトを見てください: moskah.nl

フィールドに何かを入力したら、保存して更新します。Cookie が値を保持していることに気付くでしょう。リストをクリックすると、リストが削除されます。複数のリストを保存して、もう一度削除してみてください。最後にクリックしたリスト項目が削除されないことがわかります (更新時)。

それがなぜなのかわかりません。また、どういうわけかそこで動作しないため、jsfiddle の例を示すことはできません。何が起こっているかを理解するために、ウェブサイトのソースコード (非常に小さい) を見てください。

このピースはクッキーの値を保持しています

    $('.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();


});
4

1 に答える 1

0

これを試してください: https://github.com/tanau-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"));
于 2012-10-19T08:37:27.897 に答える