400 Stimmen

Ausgewählte Option der Selectbox einstellen

Ich möchte festlegen, dass eine Option, die zuvor ausgewählt wurde, beim Laden der Seite angezeigt wird. Ich habe es mit dem folgenden Code versucht:

$("#gate").val('Gateway 2');

mit

<select id="gate">
    <option value='null'>- choose -</option>
    <option value='gateway_1'>Gateway 1</option>
    <option value='gateway_2'>Gateway 2</option>
</select>

Aber das funktioniert nicht. Irgendwelche Ideen?

568voto

Darin Dimitrov Punkte 990883

Das sollte auf jeden Fall funktionieren. Hier ist eine Demo . Stellen Sie sicher, dass Sie Ihren Code in eine $(document).ready :

$(function() {
    $("#gate").val('gateway_2');
});

192voto

Zkoh Punkte 2852
$(document).ready(function() {
    $("#gate option[value='Gateway 2']").prop('selected', true);
    // you need to specify id of combo to set right combo, if more than one combo
});

43voto

Marty Hirsch Punkte 661

$('#gate').val('Gateway 2').prop('selected', true);

27voto

Mohd Bashir Punkte 919
  $("#form-field").val("5").trigger("change");

19voto

Mike Punkte 265

Ich habe festgestellt, dass die Verwendung der Methode jQuery .val() einen erheblichen Nachteil hat.

<select id="gate"></select>
$("#gate").val("Gateway 2");

Wenn sich dieses Auswahlfeld (oder ein anderes Eingabeobjekt) in einem Formular befindet und eine Schaltfläche zum Zurücksetzen im Formular verwendet wird, wird der eingestellte Wert gelöscht und nicht auf den Anfangswert zurückgesetzt, wie man es erwarten würde.

Das scheint für mich am besten zu funktionieren.

Für Auswahlfelder

<select id="gate"></select>
$("#gate option[value='Gateway 2']").attr("selected", true);

Für Texteingaben

<input type="text" id="gate" />
$("#gate").attr("value", "your desired value")

Für Textarea-Eingaben

<textarea id="gate"></textarea>
$("#gate").html("your desired value")

Für Kontrollkästchen

<input type="checkbox" id="gate" />
$("#gate option[value='Gateway 2']").attr("checked", true);

Für Optionsfelder

<input type="radio" id="gate" value="this"/> or <input type="radio" id="gate" value="that"/>
$("#gate[value='this']").attr("checked", true);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X