2012-05-03 22 views
0

我想一個複選框狀態cookie存儲在該雙複選框狀態:存儲與jquery.cookie.js

<script type="text/javascript"> 
$(document).ready(function(){ 
var checkbox = $('#boxlawreg :checkbox'), 
    checkboxCookieName = 'checkbox-state'; 

checkbox.prop('checked', +$.cookie(checkboxCookieName)); 

checkbox.click(function() { 
    $.cookie(checkboxCookieName, +this.checked); 
}); 
}); 
</script> 

這是偉大的工作,但我有7個複選框,如果我選一,重裝我的網站,所有的複選框都是檢查。

它看起來像:

<input type="checkbox" name="option1" value="1"> 
<input type="checkbox" name="option2" value="2"> 
<input type="checkbox" name="option3" value="3"> 
<input type="checkbox" name="option4" value="4"> 

任何想法?

(PS:很抱歉的英語,我是法國人)

回答

3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script> 
    <script src="https://github.com/carhartl/jquery-cookie/blob/master/jquery.cookie.js" 
     type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      var checkbox = $('#boxlawreg').find(':checkbox'), checkboxCookieName = 'checkbox-state'; 

      checkbox.each(function() { 
       $(this).attr('checked', $.cookie(checkboxCookieName + '|' + $(this).attr('name'))); 
      }); 

      checkbox.click(function() { 
       $.cookie(checkboxCookieName + '|' + $(this).attr('name'), $(this).prop('checked')); 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <div id="boxlawreg"> 
     <input type="checkbox" name="option1" value="1" />1<br /> 
     <input type="checkbox" name="option2" value="2" />2<br /> 
     <input type="checkbox" name="option3" value="3" />3<br /> 
     <input type="checkbox" name="option4" value="4" />4<br /> 
    </div> 
</body> 
</html> 
+0

是的,它的工作完美! 謝謝! – Cat

+0

k .. you r welcome .. – Thulasiram