2011-08-16 140 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");