2012-01-23 12 views
8

Ho un evento onchange su un controllo HTML SELECT che chiama una funzione JavaScript. Funziona se seleziono una nuova opzione dall'elenco aperto con il mouse, o se scendo il controllo SELECT e poi selezioni un'opzione con il mouse o selezioni con la tastiera e prema INVIO.Evento per SELECT onchange con tastiera

Come posso ottenere la funzione da eseguire se il controllo SELECT NON è aperto e faccio semplicemente scorrere verso l'alto o verso il basso con i tasti cursore attraverso le varie opzioni. onblur non fa nulla e onkeypress produce risultati strani in cui i valori non sono sincronizzati.

risposta

5

L'evento onkeyup risolverà questo:

<select name="theName" id="theID" onchange="javascript:theFunction();" onkeyup="javascript:theFunction();"> 
<option value="A">Choice A</option> 
<option value="B">Choice B</option> 
<option value="C">Choice C</option> 
</select>