从localstorage获取复选框状态

时间:2014-09-03 14:57:55

标签: javascript checkbox local-storage

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

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

试过这个,没有运气:

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

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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);
}