2011-08-16 115 views
1

我有一个复选框的列表,我想,当点击被添加到一个cookie使用jQuery。与jQuery饼干

我的代码是这样的:

<input type="checkbox" value="vat_50" name="vat_50" class="tax"> 
<input type="checkbox" value="vat_34" name="vat_50" class="tax"> 
<input type="checkbox" value="vat_12" name="vat_50" class="tax"> 

我将如何设置cookie的,对于上面的复选框?

我见过$.cookie,但不知道如何实现它。

感谢

回答

3

试试这个前提是你使用jQuery的cookie plugin

$(document).ready(function() { 

    $('input:checkbox').click(function() { 
     var name = $(this).attr("name"); 
     var value = $(this).val(); 
     $.cookie(name, value, { expires: 365 });//Set the expires time as per your requirement. 
    }); 
}); 
+0

这看起来相当不错,虽然我不能似乎在Firefox中看到任何会话数据。 – user896428

+0

会话数据是什么意思? – ShankarSangoli

+0

我的意思是cookie数据。使用Firefox开发者工具。该cookie似乎没有被设置。 – user896428

0

下载plugin,将其添加到您的文件(jQuery的后),并使用它(有直接在该文件

0

这里是一个简单的库我写的高压..你不需要臃肿库..只是再压缩这

var cookieManager = (function() { 
    return { 
     createCookie: function (name, value, days) { 
      var expires = ""; 
      if (days) { 
       var date = new Date(); 
       date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 
       expires = "; expires=" + date.toGMTString(); 
      } 
      document.cookie = name + "=" + value + expires + "; path=/"; 
     }, 
     writeSessionCookie: function (cookieName, cookieValue) { 
      document.cookie = cookieName + "=" + cookieValue + "; path=/"; 
     }, 
     readCookie: function (name) { 
      var nameEq = name + "="; 
      var ca = document.cookie.split(';'); 
      var i; 

      for (i = 0; i < ca.length; i++) { 
       var c = ca[i]; 
       while (c.charAt(0) === ' ') { c = c.substring(1, c.length); } 
       if (c.indexOf(nameEq) === 0) { return c.substring(nameEq.length, c.length); } 
      } 

      return null; 
     }, 
     deleteCookie: function (name) { 
      this.createCookie(name, null, -1); 
     } 
    }; 
}()); 

用法:

cookieManager.writeCookie("foo","bar"); 

var fooValue=cookieManager.readCookie("foo");