Einstellen der selected-Attribut auf eine ausgewählte Liste mit jQuery
Ich habe Folgendes HTML:
<select id="dropdown">
<option>A</option>
<option>B</option>
<option>C</option>
</select>
Habe ich den string "B", so will ich, um die selected
- Attribut auf, so wird es sein:
<select id="dropdown">
<option>A</option>
<option selected="selected">B</option>
<option>C</option>
</select>
Wie würde ich das in jQuery?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nichts dagegen haben, ändern Sie Ihre HTML ein wenig zu gehören, die
value
- Attribut der Optionen, Sie können erheblich reduzieren den code, der erforderlich ist, dies zu tun:zu
Diese wird hilfreich sein, wenn Sie wollen, etwas zu tun:
Mit, dass die Folgen jQuery die änderung vornehmen:
Wenn Sie sich entscheiden nicht auf die Nutzung der
value
Attribut, Sie werden benötigt, um die einzelnen Optionen Durchlaufen und prüfen Sie manuell, ob Ihr Wert:value
Attribute, die Auswahl können Sie ebenfalls wie folgt vorgenommen:$("#dropdown").val("B");
.val()
NICHT nennen.change()
Ereignis gebunden, um Ihre<select>
. Einfach nur sagen....change()
Ereignis gebunden, um Ihre wählen Sie Sie verwenden können$(this).change()
.val()
und.prop()
nicht ändern/setzen des Attributs. Aber dieses Verhalten ist in einigen Fällen erforderlich und erfolgt nur mit.attr()
jsfiddle.net/6sebLnrzselected
- Attribut ?removeAttr
.Wenn Sie mit JQuery, da die 1.6 haben Sie zu benutzen .prop() Methode :
.attr()
nicht die Möglichkeit, mehrere änderungen..prop()
tut.Ich würde Durchlaufen Sie die Optionen, vergleicht man den text zu dem, was ich gewählt werden, dann stellen Sie das selected-Attribut auf diese option. Sobald Sie die richtige ist, beenden Sie die iteration (es sei denn, Sie haben eine multiselect).
Können Sie die .selectedIndex-Strategie danielrmt, aber bestimmen Sie den index auf der Grundlage der text innerhalb des option-tags wie diese:
Dies funktioniert auf der original HTML-Code ohne die Verwendung von value-Attribute.
Dies kann eine Lösung
Können Sie Reine DOM. Sehen http://www.w3schools.com/htmldom/prop_select_selectedindex.asp
aber jQuery kann helfen:
Code:
Beispiel:
seine gute
Etwas entlang der Linien von...