Ich bin ein bisschen verwirrt darüber, wie man einen Index einer ausgewählten Option aus einem HTML- <select>
Element erhält .
Auf dieser Seite werden zwei Methoden beschrieben. Beide kehren jedoch immer wieder zurück -1
. Hier ist mein jQuery-Code:
$(document).ready(function(){
$("#dropDownMenuKategorie").change(function(){
alert($("#dropDownMenuKategorie option:selected").index());
alert($("select[name='dropDownMenuKategorie'] option:selected").index());
});
});
und in HTML
(...)
<select id="dropDownMenuKategorie">
<option value="gastronomie">Gastronomie</option>
<option value="finanzen">Finanzen</option>
<option value="lebensmittel">Lebensmittel</option>
<option value="gewerbe">Gewerbe</option>
<option value="shopping">Shopping</option>
<option value="bildung">Bildung</option>
</select>
(...)
Warum dieses Verhalten? Gibt es eine Chance, dass der select
zum Zeitpunkt der Zuweisung seiner change()
Methode nicht "bereit" ist ? Darüber hinaus gibt der Wechsel .index()
zu .val()
den richtigen Wert zurück, was mich noch mehr verwirrt.
[name=]
verwendet wird, wenn select darauf stehtid
. Die[0].selectedIndex
undoption:selected
-Antworten unten sind beide in Ordnung.