So habe ich eine Auswahlliste, und wenn der Standardwert nicht von ---
geändert wurde, dann kehren Sie zum Formular false zurück. So ziemlich zu Validierungszwecken, also wissen wir, dass sie einen Titel gewählt haben. Das Problem ist, dass aus irgendeinem Grund prop()
den Standardwert auf den niedrigsten Wert ändert. Gibt es eine Möglichkeit, dies zu verhindern? Hier ist ein JSFiddle:Option Prop Standard ändern Ausgewählter Wert - Jquery
Und hier ist der Code:
HTML
<form onSubmit="return checkSelect()">
<select id="title" name="title"> <option value="---">---</option> <option value="Administrator">Administrator</option> <option value="Asst. Admin.">Asst. Admin.</option> <option value="Director">Director</option> <option value="Asst. Director">Asst. Director</option> <option value="IT Director">IT Director</option> <option value="Manager">Manager</option> <option value="Medical Officer">Medical Officer</option> <option value="Other">Other</option> </select>
<input type="submit" value="submit" />
</form>
JS
function checkSelect(){
try{
var val = $('#title option').attr('selected', 'selected').val();
alert(val);
return false;
}
catch(err){
alert(err.message);
}
}
EDIT
Ich habe versucht, attr zu ändern(), um zu sehen, ob das helfen würde, aber es erzeugt das gleiche Problem :(
Das hat funktioniert, danke! Ich muss verwirrt sein, was prop() tut. –
Ich bin froh, dass ich helfen konnte :). Übrigens, Ihr Codebeispiel verwendet 'attr', nicht' prop'. Sie machen verschiedene (aber verwandte) Dinge für dich. Die [Prop-Dokumentation] (http://api.jquery.com/prop/) enthält eine Beschreibung des Unterschieds. – Jeroen