2016-07-29 132 views
0

我使用LocalStorage來記住字段的值。然而,我注意到默認選擇選項(禁用)呈現爲空白。我如何正確渲染它?LocalStorage:Disabled選擇選項渲染空白

選擇字段

<select name="purchasableId" id="metreSelect" class="metre" required> 
    <option value="" disabled selected>Select number of metres</option> 
    <option value="one">One</option> 
    <option value="two">Two</option> 
</select> 

loadStorage功能

function loadSettings() { 
    $("#metreSelect").val(localStorage.setmetre); 
} 

function saveSettings() { 
    localStorage.setmetre = $("#metreSelect").val(); 

} 
+1

如果它被禁用,爲什麼會選擇? – epascarello

+0

它充當佔位符給用戶指示 –

+0

所有瀏覽器都以不同的方式處理它。 http://stackoverflow.com/questions/5805059/how-do-i-make-a-placeholder-for-a-select-box – epascarello

回答

1

首先,你需要選擇的值保存到localStorage的上的選擇變化。

$("#metreSelect").change(function(){ 
    saveSettings($(this).val()); 
}); 

function saveSettings(val) { 
    localStorage.setItem("selectedMetre",val); 
} 

在加載頁面,你需要的,如果提供給檢查保存的值,該值設置爲選擇的值

loadSettings(); 
function loadSettings() { 
    if(localStorage.getItem("selectedMetre")){ 
    $("#metreSelect").val(localStorage.getItem("selectedMetre")); 
    } 
} 

檢查jsfiddle

+0

爲什麼當我選擇它時,它會記住我的選擇選項? –

+0

檢查更新的答案 –