0

これは私のサンプルコードです

var myCookie;
var initial_arr = new Array();
var myCookie_arr = new Array();
var cookieItem;
$(function() {

        ...

        /* This quite works but can't actually achieve what I want */
        $('#add_item').click(function(){                                          
            initial_arr.push(msg.txt);
            //Update new cookie
            $.cookie('cookieItem', initial_arr, { expires: 1});
            //append on click
            $('#item-list').append(msg.txt);
        });

        /* This is what I intend to do */
        //Update new cookie
        $.cookie('cookieItem', msg.txt, { expires: 1});
        // add elements at the end of my cookie array
        myCookie_arr.push($.cookie('cookieItem'));

        ...

    $(window).load(function() {

        ...

        alert(myCookie_arr);
        for(var i= 0; i < myCookie_arr; i++) {
            //append on visiting other pages
            $('#item-list').append(myCookie_arr[i]);
        }

        ...            

        if(cookieItem) {
            $('#item-list').append($.cookie('cookieItem'));
        } else {
            $('#cat').hide();                        
        }
    });
});
4

2 に答える 2

0

ここであなたの他の質問を見ましたが、Cookie 配列を追加、削除、またはクリアしたいようです。これらの基本的な機能をまとめて、それを行う方法のアイデアを提供します

function addToCookie(arr,item){
 arr.push(item)
 $.cookie('cookieItem', arr, {expires: 1});
 // add item to cart
 return arr;
}

function removeFromCookie(arr,item){
 arr.splice( arr.indexOf(item) , 1);
 $.cookie('cookieItem', arr, {expires: 1});
 // remove item from cart
 return arr;
}

function clearCookie(arr){
 $.cookie('cookieItem', null );
 // empty the cart
 return [];
}
于 2009-12-25T03:36:37.617 に答える
0

ショッピング カートの Cookie をまったく忘れることを強くお勧めします。ajax 呼び出しを使用して、サーバー側のセッションでショッピング カートを維持します。仕様にもかかわらず、Cookie の値はほとんどの Web ブラウザーで、つまり無制限の長さではありません。

于 2009-12-25T05:00:12.473 に答える