Pergunta

Para o Internet Explorer apenas parece que o alvo (srcElement) de cliques, mousedowns, mouseups, mouseovers, etc sobre elementos <select /> não será vinculado ao elemento <option />.

Dado o seguinte HTML:

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

e esse manipulador básica evento jQuery:

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

O objeto que está em e.target ou e.srcElement é sempre igual ao <select /> e não o <option />.

Eu decidi ser criativo e tentar usar document.elementFromPoint(e.clientX,e.clientY) e que retorna o elemento SELECT também.

Isso traz a pergunta: existe alguma maneira para determinar o <option />inside de um argumentos de evento <select />via, coordenadas, ou qualquer outra coisa? Estou ciente de que eu posso fingir isso com uma div rolagem de caixas de seleção. Para efeitos da presente pergunta, eu gostaria de quaisquer soluções que podem usar o elemento select nativa.

Foi útil?

Solução

Coloque simplesmente não existem soluções que usam o elemento select nativa.

Outras dicas

Você pode fazer:

$("#madness").val()

Para obter o valor do selecionado

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top