如何使用纯Javascript将已检查单选按钮的值存储在本地存储中?

时间:2015-04-20 18:02:01

标签: javascript html radio-button local-storage reload

我想将已检查的单选按钮存储在本地存储中,以便在页面重新加载时,它会在重新加载时检查最后一项检查项目。

HTML:

<h3>Seconds Display:</h3>
<p id="secondsHidingText">Hiding seconds extends battery life</p>
&nbsp&nbsp<input type="radio" name="seconds" value="show" checked="checked">Show&nbsp&nbsp
<input type="radio" name="seconds" value="hide">Hide

这是我的javascript:

localStorage.setItem('seconds', options.seconds);

(单击我的保存按钮时运行)

document.getElementById('seconds').value = localStorage.getItem("seconds");

(在正在加载的文档上运行)

我收到以下错误:Uncaught TypeError: Cannot set property 'value' of null

如何在本地存储中存储和检索已选中的单选按钮?如果可能的话,我正在寻找一种纯粹的JS方法来实现这一目标。

谢谢!

1 个答案:

答案 0 :(得分:9)

您必须遍历单选按钮然后设置值。像这样的东西

var radios = document.getElementsByName("seconds"); // list of radio buttons
var val = localStorage.getItem('seconds'); // local storage value
for(var i=0;i<radios.length;i++){
  if(radios[i].value == val){
      radios[i].checked = true; // marking the required radio as checked
  }
}

我只使用jquery以方便的方式设置localstorage值。

这是 demo