2016-07-29 104 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

检查更新的答案 –