Pregunta

Sólo para Internet Explorer parece que el objetivo (srcElement) de clics, mousedowns, mouseups, mouseovers, etc. <select /> Los elementos no estarán vinculados a la <option /> elemento.

Dado el siguiente HTML:

<select id="madness">
   <option value="1">One</option>
   <option value="2">Two</option>
   <option value="2">Three</option>
</select>

y este controlador de eventos jQuery básico:

$("#madness").mousedown(function(e){
   alert(e.target.value); //jQuery pushes srcElement into the target for us here
});

El objeto que está en e.target o e.srcElement siempre es igual a <select /> y no el <option />.

Decidí ser creativo e intentar utilizar document.elementFromPoint(e.clientX,e.clientY) y eso también devuelve el elemento SELECT.

Esto plantea la pregunta: ¿hay alguna manera de determinar el <option />dentro de un <select />¿A través de argumentos de eventos, coordenadas o cualquier otra cosa?Soy consciente de que puedo fingir esto con un div desplazable de casillas de verificación.A los efectos de esta pregunta, me gustaría encontrar soluciones que puedan utilizar el elemento de selección nativo.

¿Fue útil?

Solución

En pocas palabras, no hay soluciones que usen el elemento select nativo.

Otros consejos

Puedes hacer:

$("#madness").val()

Para obtener el valor de < option / > ;.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top