【问题标题】:Get checkbox state from localstorage从本地存储中获取复选框状态
【发布时间】:2014-10-28 03:34:50
【问题描述】:

我已经将位于 1.html 中的复选框的状态存储在 localStorage 中(可以选中或取消选中)。

在不同的文档 2.html 中,使用 vanilla javascript 我如何知道复选框是选中还是未选中?

试过了,没有运气:

if localStorage.getElementById("my_checkbox").checked {
    alert("checked") ;
}

if localStorage.getItem("my_checkbox").checked {
    alert("checked") ;
}

谢谢!

【问题讨论】:

    标签: javascript checkbox local-storage


    【解决方案1】:

    LocalStorage 仅存储字符串值,因此您首先需要获取它:

    var storedValue = localStorage.getItem('myCheckbox');
    

    然后判断true的值是否被保存:

    if(storedValue /* need to check for undefined */ && storedValue === 'true'){
        alert('checked');
    }
    

    但是,我建议存储一个字符串化对象并对其进行解析,而不是处理字符串。这样的事情应该让你开始:

    // set data:
    var lsData = {};
    lsData.myCheckbox = documnent.getElementById("my_checkbox").checked;
    var stringifiedData = JSON.stringify(lsData);
    
    localStorage.setItem('lsData', stringifiedData);
    
    // get data:
    var dataToParse = localStorage.getItem('lsData');
    if(dataToParse){
        var lsData = JSON.parse(dataToParse);
        alert(lsData.myCheckbox);
    }
    

    【讨论】:

    • 非常感谢!正在努力!
    • @user3002057 随时
    • 仍然无法正常工作。请看小提琴。当复选框被选中时,我应该会收到警报,不是吗?
    • @user3002057 首先,您拼错了document。检查控制台 :) 此外,这里总是错误的,因为您在页面加载时进行保存,然后再进行更改。
    • @user3002057 也许这会有所帮助:jsfiddle.net/ck0eph8z/1 当您单击复选框时它会更新 localStorage。
    猜你喜欢
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    相关资源
    最近更新 更多