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?

-2voto

Cor Koomen Punkte 1

Ergänzung zu @icksde und @Korah (danke an beide!)

Bei der Erstellung des Optionen mit AJAX kann document.ready ausgelöst werden, bevor die Liste aufgebaut ist, so dass

Das funktioniert nicht

$(document).ready(function() {
    $("#gate").val('Gateway 2');
});

Dies bedeutet

Eine Zeitüberschreitung funktioniert zwar, aber wie @icksde sagt, ist sie anfällig (ich brauchte tatsächlich 20 ms statt 10 ms). Es ist besser, es innerhalb der AJAX-Funktion wie diese zu passen:

$("#someObject").change(function() {
    $.get("website/page.php", {parameters}, function(data) {
        $("#gate").append("<option value='Gateway 2'">" + "Gateway 2" + "</option>");
        $("#gate").val('Gateway 2');
    }, "json");
});

-2voto

// Make option have a "selected" attribute using jQuery

var yourValue = "Gateway 2";

$("#gate").find('option').each(function( i, opt ) {
    if( opt.value === yourValue ) 
        $(opt).attr('selected', 'selected');
});

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