2014-09-03 128 views
0

我已经有一个复选框位于1.html存储在localStorage(可以选中或不选中)的状态。从localstorage获取复选框状态

在一个不同的文档中,2.html,使用香草javascript如何知道该复选框是选中还是取消选中?

Tryied这一点,没有运气:

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

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

谢谢!

回答

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

非常感谢您!努力吧! – Malasorte 2014-09-03 15:18:12

+0

@ user3002057任何时间 – Johan 2014-09-03 15:25:31

+0

http://jsfiddle.net/ck0eph8z/ – Malasorte 2014-09-03 15:25:45