Non è nemmeno tanto corretto fare affidamento a DISABLED per le OPTION o gli OPTGROUP, poiché IExplorer lo ignora con quegli elementi.
DISABLED rimane affidabile se assegnato alla SELECT e si disabilita tutto il menù.
Lascerei perdere quello script.
Prova il mio, se te la cavi (impari!) con le concatenazioni ' ' + e fai attenzione all' escape di eventuali apostrofi presenti nel testo/codice, come già:
' <option value="Prodotti cliente">Conferimento d\'Incarico</option>' +
(senza il carattere di escape \ che lo precede, ' interferirebbe con gli apici di delimitazione stringa).
In pratica, si tratta di "costruire" di volta in volta la SELECT all' interno di un Elemento contenitore (DIV o TABLE/TD può anche essere), con .innerHTMLcodice:<html><head> <script> function populateNext() { var firstChoice = document.main.argomento.selectedIndex; alert('hai selezionato l\\' opzione ' + firstChoice); //poi questa riga la togli var theContainer = document.getElementById("seldiv"); if ( firstChoice == 0 ) { theContainer.innerHTML = '<select id="select_6" size="1" name="servizio" disabled="disabled"><option>- - - - - - -</option></select>' } else { if ( firstChoice == 1 ) { theContainer.innerHTML = '<select id="select_6" size="1" name="servizio">' + '<optgroup label="" id="ch_1">' + ' <option value="Prodotti cliente">Conferimento d\\'Incarico</option>' + ' <option value="Lavora con noi">Consulenza Pignorati</option>' + ' <option value="Corsi di formazione">Consulenza Personale</option>' + ' <option value="Corsi di formazione">Consulenza Privata</option>' + ' <option value="Corsi di formazione">Consulenza Fiscale Internazionale</option>' + '</optgroup>' + '</select>'; } else { if ( firstChoice == 2 ) { theContainer.innerHTML = '<select id="select_6" size="1" name="servizio">' + '<optgroup label="" id="ch_2">' + ' <option value="Friend">Friend</option>' + ' <option value="Associato">Associato</option>' + ' <option value="Affiliato">Affiliato</option>' + ' <option value="Head Hunter">Head Hunter</option>' + '</optgroup>' + '</select>'; } else { //qui il caso 3 o ulteriori if-else } } } } </script> </head> <body> <form name="main"> <select id="argomento" size="1" name="argomento" onchange="populateNext();"> <option value="">Scegli un argomento </option> <option value="Prodotti cliente">Prodotti al Cliente</option> <option value="Lavora con noi">Lavora Con Noi</option> <option value="Corsi di formazione">Corsi di Formazione</option> </select> <div id="seldiv"> <select id="select_6" size="1" name="servizio" disabled="disabled"><option>- - - - - - -</option> </select> </div> </form> </body></html>

Rispondi quotando