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 selectitem 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].selectedIndexeoption:selectedabaixo estão ok.