2015-04-20 83 views
2

我想將選中的單選按鈕存儲在本地存儲中,以便在頁面重新加載時,它將在重新加載時檢查最後一次檢查的項目。如何使用純Javascript將選中的單選按鈕的值存儲在本地存儲中?

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

(在docum上運行耳鼻喉科加載)

我得到以下錯誤:Uncaught TypeError: Cannot set property 'value' of null

如何存儲和檢索覈對單選按鈕,並從本地存儲?如果可能的話,我正在尋找一個純JS方法來完成這一點。

謝謝!

+0

你在哪裏在頁面上調用JS?聽起來像它無法通過id找到輸入。你有一個小提琴或鏈接到實時頁面? –

+1

不知道我是如何忽略它的,但沒有顯示帶'秒'標識的元素。 –

+0

這裏有一個網頁的鏈接:https://barrydoyle18.github.io/remindMeConfig.html 請原諒嘿警報... –

回答

8

您將不得不迭代通過單選按鈕,然後設置值。這樣的事情

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只是爲了設置本地存儲值,方便。

這裏是一個demo

+0

如果它不起作用,請讓我知道。有時jsfiddle正在創建一個問題。 –

+0

完美的例子!你可以請多做一個餅乾嗎?我應該如何從那裏獲得元素? – Burning

相關問題