Estoy un poco confundido acerca de cómo obtener un índice de una opción seleccionada de un <select>
elemento HTML .
En esta página hay dos métodos descritos. Sin embargo, ambos siempre regresan -1
. Aquí está mi código jQuery:
$(document).ready(function(){
$("#dropDownMenuKategorie").change(function(){
alert($("#dropDownMenuKategorie option:selected").index());
alert($("select[name='dropDownMenuKategorie'] option:selected").index());
});
});
y en 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 qué este comportamiento? ¿Hay alguna posibilidad de que select
no esté "listo" en el momento de asignar su change()
método? Además, cambiar .index()
a .val()
es devolver el valor correcto, así que eso es lo que me confunde aún más.
[name=]
cuando se usa selectid
. Las respuestas[0].selectedIndex
yoption:selected
abajo están bien.