我有一些複選框需要在刷新頁面後保持檢查狀態。 但是它們或需要全部檢查以在刷新後保持檢查狀態,或者只檢查了幾個,它們不會在刷新後保持檢查狀態。複選框在頁面刷新後保持檢查狀態
關於如何修復它的任何想法?
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Persist checkboxes 1</title>
</head>
<body>
<input type="checkbox" class="option">
<input type="checkbox" class="option">
<input type="checkbox" class="option">
<input type="checkbox" class="option">
<input type="checkbox" class="option">
<input type="checkbox" class="option">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.cookie/1.4.0/jquery.cookie.min.js"></script>
<script>
$(".option").on("change", function(){
var checkboxValues = {};
$(".option").each(function(){
checkboxValues[this.className] = this.checked;
});
$.cookie('checkboxValues', checkboxValues, { expires: 1, path: '/' })
});
function repopulateCheckboxes(){
var checkboxValues = $.cookie('checkboxValues');
if(checkboxValues){
Object.keys(checkboxValues).forEach(function(element) {
var checked = checkboxValues[element];
$("." + element).prop('checked', checked);
});
}
}
$.cookie.json = true;
repopulateCheckboxes();
</script>
</body>
</html>
不能有重複的ID,它們必須是唯一的每一頁。 – zer00ne
@ zer00ne我知道,但是當我使用類時,[this.className]不起作用,那就是問題所在。 –
您的元素沒有類屬性。 – 2016-02-19 23:24:15