Estou um pouco confuso sobre como obter um índice de uma opção selecionada de um <select>
item HTML .
Por esta página, há dois métodos descritos. No entanto, ambos estão sempre retornando -1
. Aqui está o meu código jQuery:
$(document).ready(function(){
$("#dropDownMenuKategorie").change(function(){
alert($("#dropDownMenuKategorie option:selected").index());
alert($("select[name='dropDownMenuKategorie'] option:selected").index());
});
});
e em 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>
(...)
Por que esse comportamento? Existe alguma chance de que o select
item não esteja "pronto" no momento de atribuir seu change()
método? Além disso, mudar .index()
para .val()
está retornando o valor certo, e é isso que me confunde ainda mais.
[name=]
usado quando o select contémid
. As respostas[0].selectedIndex
eoption:selected
abaixo estão ok.