5 Stimmen

JQuery - den Wert eines Auswahlfelds auf eine seiner Optionen setzen

Wie kann ich den Wert eines Auswahlfelds auf den Wert der ersten Option setzen, die nicht deaktiviert ist?

Zum Beispiel ist in diesem Feld der ausgewählte Wert 1. Wie kann ich diesen Wert auf die nächste nicht deaktivierte Option ändern, d.h. 2?

  1234

13voto

Potch Punkte 266

Für Ihr gegebenes Beispiel würde ich verwenden:

$("select option:not([disabled])").first().attr("selected", "selected");

wenn Ihr select ein spezifisches ID hatte ("#foo" zum Beispiel):

$("#foo option:not([disabled])").first().attr("selected", "selected");

0 Stimmen

Ich habe den Code vor ein paar Minuten von .first zu .first() bearbeitet. Hast du den alten Code benutzt?

1 Stimmen

In Ihrem HTML enden die option-Tags tatsächlich mit ? Es scheint, dass das schließende Klammern fehlen (sollte sein).

1 Stimmen

Dies funktioniert nicht in Safari und möglicherweise auch in anderen Browsern. Mpen's Antwort mit :enabled:first funktioniert jedoch. Hier ist ein Codepen-Beispiel codepen.io/martinkrulltott/pen/zrKvRj

5voto

mpen Punkte 253762

Etwas sauberer als die anderen Lösungen:

$('#select_id').find('option:enabled:first').prop('selected',true);

1voto

chaos Punkte 118918
$('#id-for-select option:not(:disabled):first').click()

0 Stimmen

Würde am Ende des Selektors nicht ein :erstes stehen?

0 Stimmen

Heh, ja. Meine Bearbeitung in dieser Hinsicht hat sich mit deinem Kommentar-Eintrag überschnitten.

0 Stimmen

Sie müssten eine ID für das Select-Tag einrichten; das kann beliebig sein, und in meinem Beispiel id-for-select damit ersetzen.

1voto

nyuszika7h Punkte 13065

Versuchen Sie dies:

$('#select-id-here option:enabled').first().attr('selected', 'selected');

0voto

GolezTrol Punkte 111587

Legen Sie die ausgewählte Eigenschaft der Option fest:

2

document.getElementById('value2').selected = true;

2 Stimmen

Ich glaube, der Punkt ist, dass man im Voraus nicht weiß, welcher der erste aktiviert Wert ist...

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