Мой код назначает проверенное состояние флажков в локальное хранилище, а затем извлекает их при загрузке страницы, используя этот tutorial.Условное выделение метки флажка после получения состояния из хранилища
Пример учебника работает, но я хочу сделать еще один шаг и выполнить дополнительную задачу условно установить цвет фона метки флажка в зависимости от того, проверено ли состояние флажка или нет.
Я попытался добавить следующее, чтобы заменить последнюю строку jQuery, но она просто выделяет все флажки.
$("#" + key).prop('checked', value).parent('label').css('background', 'yellow');
Это fiddle. Поэтому в этом примере, если бы он работал, как я описал, если я нажму Норвегию, Норвегия будет выделена желтым цветом.
Любые предложения?
<div id="checkbox-container">
<label>
<input type="checkbox" id="UN40" value="Austria" />Austria</label>
<label>
<input type="checkbox" id="UN246" value="Finland" />Finland</label>
<label>
<input type="checkbox" id="UN579" value="Norway" />Norway</label>
</div>
var checkboxValues = JSON.parse(localStorage.getItem('checkboxValues')) || {},
$checkboxes = $("#checkbox-container :checkbox");
$checkboxes.on("change", function() {
$checkboxes.each(function() {
checkboxValues[this.id] = this.checked;
});
localStorage.setItem("checkboxValues", JSON.stringify(checkboxValues));
});
// On page load
$.each(checkboxValues, function(key, value) {
$("#" + key).prop('checked', value);
});
, что прекрасно работает. Ваши объяснения также очень ясны. – Silverburch