2014-11-23 53 views
0

我试图制作一个没有jQuery的清单,其中每个复选框的.checked状态都保存在localStorage中,以便在浏览器或计算机上保留时重新启动。使用localStorage维护复选框的检查状态

Fiddle

要做到这一点,我已经写了三个功能:

  • saveStatus(),保存所有复选框的localStorage的当前状态。通过点击按钮激活。
  • loadStatus(),从localStorage加载保存的状态。在身体标签中激活加载。
  • clearAllInputs(),清除localStorage。通过点击按钮 激活。

我无法找到localStorage只接受(“字符串”,“字符串”)键值对更好的解决方法。

当我检查几个复选框并点击保存按钮时,它似乎刷新页面,并且所有复选框都未选中。同样的事情发生在我点击清除按钮时。

回答

1

这就是JSON进来的地方。您可以让对象或数组存储复选框的状态。一旦保存到localStorage,请在对象上使用JSON.stringify将其转换为字符串。然后将该字符串保存到localStorage。通过从localStorage读取字符串,然后使用JSON.parse将字符串转换回用于复选框的对象或数组,可以反过来读取数据。