私のコードはチェックボックスのチェック状態をローカルストレージに割り当て、次に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