Javascript 记住带有localstorage onclick的复选框

Javascript 记住带有localstorage onclick的复选框,javascript,html,local-storage,Javascript,Html,Local Storage,我正在尝试为Chrome扩展创建一个选项页面。第一部分将中的值设置为本地存储。检查是否为真,取消选择是否为假。如果用户在其他时间返回,则第二部分将更新复选框,并且设置将应用于该复选框 我的问题是,当用户刷新或关闭窗口并返回时,复选框从不选中,但本地存储将更改为true或false。我如何设置它,以便用户可以选中该框,并且当用户稍后返回或刷新页面时,该框将保持不变 setStatus = document.getElementById('stat'); setStatus.oncl

我正在尝试为Chrome扩展创建一个选项页面。第一部分将中的值设置为本地存储。检查是否为真,取消选择是否为假。如果用户在其他时间返回,则第二部分将更新复选框,并且设置将应用于该复选框

我的问题是,当用户刷新或关闭窗口并返回时,复选框从不选中,但本地存储将更改为true或false。我如何设置它,以便用户可以选中该框,并且当用户稍后返回或刷新页面时,该框将保持不变

    setStatus = document.getElementById('stat');
    setStatus.onclick = function() {
        if(document.getElementById('stat').checked) {
            localStorage.setItem('stat', "true");
        } else {
            localStorage.setItem('stat', "false");
        }
    }


getStstus = localStorage.getItem('stat');
    if (getStstus == "true") {
        console.log("its checked");
        document.getElementById("stat").checked;
    } else {
        console.log("its not checked");
    }

我假设您是说您的存储正在工作,但是您需要使用Javascript选中该框。在这种情况下,请使用:

document.getElementById("stat").checked=true;
而不是

document.getElementById("stat").checked;

参考:

您需要在JavaScript中将实际设置为true

使用:

而不是:

document.getElementById("stat").checked;
更改:

document.getElementById("stat").checked;
致:

我会解决这个问题的。因为在添加
.checked
时,实际上只是检查复选框是否为check

你也可以这样做:

document.getElementById("stat").checked=true;   
它做同样的事情


请注意,您需要更改第二个
文档.getElementById(“stat”)。选中

getStstus = localStorage.getItem('stat');
    if (getStstus == "true") {
        console.log("its checked");
        document.getElementById("stat").setAttribute('checked','checked');
    } else {
        console.log("its not checked");
    }​

document.getElementById("stat").checked=true;   
getStstus = localStorage.getItem('stat');
    if (getStstus == "true") {
        console.log("its checked");
        document.getElementById("stat").setAttribute('checked','checked');
    } else {
        console.log("its not checked");
    }​