У меня есть несколько флажков, которые необходимо проверить после обновления страницы. Но они или должны быть все проверены, чтобы оставаться включенными после обновления, либо если проверено только несколько, они не остаются проверенными после обновления.Флажки остаются под контролем после обновления страницы
Любые идеи о том, как исправить это?
<!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>
Не может иметь повторяющиеся идентификаторы, они должны быть уникальными для каждой страницы. – zer00ne
@ zer00ne Я знаю, но когда я использую классы, [this.className] не работает, вот в чем проблема. –
Ваши элементы не имеют атрибута класса. –