2016-07-29 13 views
0

Ich verwende LocalStorage, um den Wert von Feldern zu speichern. Mir ist jedoch aufgefallen, dass die Standardauswahloption (deaktiviert) leer ist. Wie rende ich es richtig?LocalStorage: Deaktiviert Option auswählen Gerendert Leer

Feld auswählen

<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 Funktionen

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

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

} 
+1

Wenn es deaktiviert ist, warum es ausgewählt ? – epascarello

+0

es fungiert als ein Platzhalter, der dem Benutzer Anweisungen gibt –

+0

Alle Browser behandeln es anders. http://stackoverflow.com/questions/5805059/how-do-i-make-a-placeholder-for-a-select-box – epascarello

Antwort

1

Zuerst müssen Sie den ausgewählten Wert in localstorage auf Wechsel wählen speichern.

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

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

, während die Seite geladen wird, müssen Sie für gespeicherte Wert überprüfen, falls vorhanden, setzen Sie diesen Wert als ausgewählte Wert

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

Check jsfiddle

+0

Warum erinnert es sich dann an meine ausgewählte Option, wenn ich eine auswähle? –

+0

überprüfen Sie die aktualisierte Antwort –

Verwandte Themen