シンプルなコードにする必要がありますが、何らかの理由でチェックボックスを正しく設定するロジックが間違っていません。チェックされた状態がセッション間で永続的になるように私はローカルストレージを使用しています。チェックボックスが正しい値にチェックしていません
ここに私のコードです。何が起こっているのかは、何らかの理由で、console.log
がfalseであるべきときにfalseを出力するか、trueでなければならないときにtrueを出力する。どちらかの方法でチェックボックスがチェックされる。
var checkboxElement = document.getElementById("checkbox").getElementsByTagName('input')[0]
checkboxElement.addEventListener('click', function() {
console.log(checkboxElement.checked)
if (localStorage != undefined) {
localStorage.setItem("checkbox", checkboxElement.checked)
}
});
if(localStorage != undefined)
{
console.log("Local storage supported.");
//set defaults
if (localStorage.getItem("checkbox") == undefined) {
localStorage.setItem("checkbox", false)
}
var isChecked = localStorage.getItem("checkbox")
checkboxElement.checked = isChecked
console.log(isChecked)
}