获取cookie,添加新值并使用jquery和json值再次设置它

时间:2011-10-09 13:51:47

标签: jquery json cookies setcookie

我尝试列出偏好的产品。每个产品都有自己的ID,它是var productID,它已经可以在任何页面上访问。我想要达到的是,在cookie中有一个json值。添加新产品后,获取Cookie值,添加新产品ID,再次使用附加值设置Cookie

{“0”:“11”,“1”:“17”,“2”:“7”}

$.fn.memoProducts = function(options){

   options= $.extend({
      cookie_name: "memoProducts",
      cookie_path: "/",
      cookie_expires: 3,
    }, options);

function setCookie() {
    var cookieValues = getCookie();
    var cookie_value_add = [];
    cookie_value_add = cookieValues ? $.parseJSON(cookieValues): [];
    cookie_value_add.push(productID);
    cookie_value = JSON.stringify(cookie_value_add);
    var date = new Date;
    date.setTime(date.getTime()+(options.cookie_expires*24*60*60*1000));
    document.cookie = options.cookie_name+"="+cookie_value+"path="+options.cookie_path+";expires="+date.toGMTString();
 }

function getCookie() {
  if (document.cookie) {
     var values = document.cookie.split(options.cookie_name+"=")[1];
     if (values) {
        return values.split(";")[0];
     }
  }
  return false;
 }

$(this).click(function(e){
    setCookie();
});
}

$(function() {
    $("a.bookmark").memoProducts();
})

我不知道如何让它发挥作用。第一个错误是:cookie_value_add为null。只设置一个cookie:

cookie_value = productID;

工作正常,但始终覆盖之前设置的值。也许有人有个主意......

0 个答案:

没有答案