单击localstorage时记住复选框

Remember checkbox with localstorage onclick

本文关键字:复选框 localstorage 单击      更新时间:2024-03-02

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

我的问题是,当用户刷新或关闭窗口并返回时,复选框永远不会被选中,但本地存储将更改为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");
    }

更改:

document.getElementById("stat").checked;

收件人:

document.getElementById("stat").setAttribute('checked','checked');

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

你也可以做:

document.getElementById("stat").checked=true;   

它做同样的事情。


请注意,您需要更改document.getElementById("stat").checked

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

Js报价示例

您需要在JavaScript中将checked属性设置为true。

用途:

document.getElementById("stat").checked = true;

代替:

document.getElementById("stat").checked;

试试吧

我假设你是说你的存储正在工作,但你需要使用Javascript来勾选这个框。在这种情况下,使用:

document.getElementById("stat").checked=true;

而不是

document.getElementById("stat").checked;

参考:http://www.w3schools.com/jsref/prop_checkbox_checked.asp