Ich habe mich gefragt, ob es möglich ist, jQuery dazu zu bringen, ein <option>
, sagen wir das 4. Element, in einem Dropdown-Feld auszuwählen.
<select>
<option></option>
<option></option>
<option></option>
<option></option>
<option></option>
</select>
Ich möchte, dass der Benutzer auf einen Link klickt und das <select>
Feld dann seinen Wert ändert, als hätte der Benutzer ihn durch Klicken auf den Link ausgewählt <option>
.
Antworten:
Wie wäre es mit
Beispiel unter http://www.jsfiddle.net/gaby/CWvwn/
Für moderne Versionen von jquery sollten Sie die
.prop()
anstelle von verwenden.attr()
Beispiel unter http://jsfiddle.net/gaby/CWvwn/1763/
quelle
selectElement.selectedIndex = index;
ist was Jack meint.selectedIndex
kann aber nicht für die Mehrfachauswahl verwendet werden, wenn dasmultiple
Attribut verwendet wird. Die normale ( HTML ) Methode zum Festlegen ausgewählter Elemente ist dasselected
Attribut deroption
Elemente.selected
Eigenschaft jedes entsprechendenoptions
Elements auftrue
(und optional den Restfalse
explizit auf) zu setzen. Mehrfachauswahl ist eigentlich ziemlich böse :)onchange
Ereignis wird niemals ausgelöst, wenn der Wert programmgesteuert geändert wird. Sie können.trigger('change')
am Ende ein hinzufügen, um auch das Ereignis auszulösen ( obwohl esDie Lösung:
quelle
selected
Option wird im HTML nicht festgelegt .HTML-Auswahlelemente haben eine
selectedIndex
Eigenschaft, in die geschrieben werden kann, um eine bestimmte Option auszuwählen:Mit einfachem JavaScript kann dies erreicht werden durch:
quelle
.trigger()
zur Verfügung, aber da Sie dies bereits mit Code tun, ist es einfach, die Änderungshandler auch selbst aufzurufen.Ich würde es so machen
quelle
Wenn Ihre Optionen einen Wert haben, können Sie dies tun:
'select' ist die ID Ihrer Auswahl oder einer Klassenauswahl. oder wenn es nur eine Auswahl gibt, können Sie das Tag wie im Beispiel verwenden.
quelle
Der einfachste Weg ist die
val(value)
Funktion:Und um den ausgewählten Wert zu erhalten, geben Sie keine Argumente an:
Wenn Sie haben
<option value="valueToSelect">...</option>
, können Sie auch Folgendes tun:DEMO
quelle
Verwenden Sie den folgenden Code, wenn Sie eine Option mit einem bestimmten Wert auswählen möchten:
quelle
quelle
Ich bevorzuge nth-child () gegenüber eq (), da es eine 1-basierte Indizierung anstelle einer 0-basierten verwendet, was für mein Gehirn etwas einfacher ist.
quelle
Bei '' element verwenden wir normalerweise das Attribut 'value'. Das Einstellen wird dann einfacher:
quelle
Versuche dies:
Grüße!
quelle
antworte mit id:
quelle
Eine Einschränkung hier ist, wenn Sie Javascript haben, um nach dem Änderungsereignis von select / option zu suchen
.trigger('change')
, das Sie hinzufügen müssen, damit der Code wird.weil nur ein Aufruf
.attr('selected', 'selected')
das Ereignis nicht auslöstquelle