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。使用 ajax 调用在服务器端的会话中维护购物车。尽管有规范,但大多数网络浏览器中的 cookie 值并不是无限长的。

于 2009-12-25T05:00:12.473 回答
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 回答