Corsi on-line

IE non supporta onclick per le option, che fare?

Immaginate di aver creato un menù di selezione in cui sono presenti  alcune voci che, se selezionate, consentono di visualizzare un secondo menù che diversamente rimarrebbe nascosto; in pratica, questo potrebbe essere il codice del primo menù di selezione:

<select id="sel1" name="sel1">
<option>Prima selezione..</option>
<option onclick="$('secondaselect').toggle();">I valore</option>
<option onclick="$('secondaselect'').toggle();">II valore</option>
<option onclick="$('secondaselect'').toggle();">III valore</option>
</select>

Questo potrebbe essere invece il codice del menù di selezione che verrà visualizzato soltanto selezionado una delle voci presenti nel primo:

<div id="secondaselect" style="text-indent: -9999px;">
<select id="sel2" name="sel2">
<option>Seconda selezione..</option>
<option>Valore A</option>
<option>Valore B</option>
<option>Valore C</option>
</select></div>

Il codice proposto funzionerà senza problemi su Firefox, ma non su IE, questo perché il browser di Redmond non supporta l’onclick per le option; per risolvere questo problema sarà possibile sfruttare un altro attributo, “onchange”, che permetterà anche di accorciare nettamente il codice del primo menù di selezione:

<select id="sel1" name="sel1" onchange="$('val').toggle();">
<option>Prima Selezione..</option>
<option>I valore</option>
<option>II valore</option>
<option>III valore</option>
</select>

In questo modo sarà possibile sfruttare il vantaggi degli elementi nascosti tramite “toogle()” anche su IE.

Post correlati
I più letti del mese
Tematiche