2011-04-20 47 views
2


我有一個頁面上的複選框數組,我想將它們的條件保存在cookie中。不知道如何使這個...例如,我有HTML:jQuery - 在Cookie中保存複選框條件

<input type="checkbox" name="checkboxes[]">CB1<br/> 
<input type="checkbox" name="checkboxes[]">CB1<br/> 
<input type="checkbox" name="checkboxes[]">CB1 

回答

3

quirksmode包含三個簡單的功能,你可以這樣做:

function createCookie(name,value,days) { 
    if (days) { 
     var date = new Date(); 
     date.setTime(date.getTime()+(days*24*60*60*1000)); 
     var expires = "; expires="+date.toGMTString(); 
    } 
    else var expires = ""; 
    document.cookie = name+"="+value+expires+"; path=/"; 
} 

function readCookie(name) { 
    var nameEQ = name + "="; 
    var ca = document.cookie.split(';'); 
    for(var 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; 
} 

function eraseCookie(name) { 
    createCookie(name,"",-1); 
} 

createCookie("checkboxes", $("input:checkbox").serialize(), 30); 
alert(readCookie("checkboxes")); 

You can try it here.

+2

+1'.serialize() ' - 我經常在jQuery中忘記的一個很好的功能:) – 2011-04-20 11:00:46

0

你可能想看看this plugin。它允許你使用jQuery讀/寫cookies。

+0

如果你能提供一個演示,將是更有幫助 – Rafay 2011-04-20 10:54:33

+0

謝謝,但我知道該插件 - 問題是在處理陣列... – Chvanikoff 2011-04-20 10:54:41

0

那麼在我的眼睛,我可以看到的方式來歸檔你的目標。

  1. 用0和1(1使用字符串被選中,0沒有。結果是一個字符串至極,你可以在一個cookie保存。
  2. 使用JSON對象來存儲它。最後,這將是又一個字符串保存它在cookie