Меня немного смущает, как получить индекс выбранной опции из <select>элемента HTML .
На этой странице описаны два метода. Тем не менее, оба всегда возвращаются -1. Вот мой код jQuery:
$(document).ready(function(){
$("#dropDownMenuKategorie").change(function(){
alert($("#dropDownMenuKategorie option:selected").index());
alert($("select[name='dropDownMenuKategorie'] option:selected").index());
});
});
и в 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>
(...)
Почему это поведение? Есть ли вероятность того, что selectон не «готов» в момент назначения change()метода? Кроме того, переключение .index()на .val()возвращает правильное значение, так что меня это еще больше смущает.
[name=]используется selectid. И-[0].selectedIndexиoption:selectedответы ниже оба в порядке.