Bun giorno a tutti, ho avuto un piccolo problema a riadattare uno script per select multiple, spiego subito il problema:
ho la necessità di fare 3 select ed in base alla scelta fatta sulla prima mi da dei valori per popolare la seconda ed in base alla scelta fatta sulla seconda mi popola la terza. Lo script che posto di seguito lo fa per due select...come posso inserire la terza?
Codice PHP:
<script type="text/javascript">
//Dichiaro l'array myMenu'
var myMenu = new Array();
//Definisco le voci del menu'
myMenu['uno'] = new Array(); //Prima categoria
myMenu['uno']['Analisi 1'] = 'Analisi 1';
myMenu['uno']['Analisi 2'] = 'Analisi 2';
myMenu['uno']['Algebra e Geometria'] = 'Algebra e Geometria';
myMenu['uno']['Meccanica Razionale'] = 'Meccanica Razionale';
myMenu['uno']['Fisica 1'] = 'Fisica 1';
myMenu['uno']['Inglese'] = 'Inglese';
myMenu['uno']['Chimica'] = 'Chimica';
myMenu['uno']['Disegno'] = 'Disegno';
myMenu['due'] = new Array(); //Seconda categoria
myMenu['due']['Scienza delle costruzioni'] = 'Scienza delle costruzioni';
myMenu['due']['Tecnologia dei Materiali'] = 'Tecnologia dei Materiali';
myMenu['due']['Architettura tecnica'] = 'Architettura tecnica';
myMenu['due']['Topografia e cartografia'] = 'Topografia e cartografia';
myMenu['due']['Fisica 2'] = 'Fisica 2';
myMenu['due']['Idraulica'] = 'Idraulica';
myMenu['due']['Geotecnica'] = 'Geotecnica';
myMenu['due']['Fondamenti di informatica'] = 'Fondamenti di informatica';
myMenu['tre'] = new Array(); //Terza categoria
myMenu['tre']['Fondamenti di trasporti'] = 'Fondamenti di trasporti';
myMenu['tre']['Tecnica delle costruzioni'] = 'Tecnica delle costruzioni';
myMenu['tre']['Fisica tecnica'] = 'Fisica tecnica';
myMenu['tre']['Topografia e cartografia'] = 'Topografia e cartografia';
myMenu['tre']['Infrastrutture viarie'] = 'Infrastrutture viarie';
myMenu['tre']['Economia'] = 'Economia';
myMenu['tre']['Infrastrutture Idrauliche'] = 'Infrastrutture Idrauliche';
myMenu['cat_d'] = new Array(); //quarta categoria
function popola_select(){
var select = document.forms['myForm'].mySelect; //Recupero la SELECT
var subselect = document.forms['myForm'].mySubSelect; //Recupero la seconda SELECT
// Recupero la categoria selezionata
var cat = select.options[select.selectedIndex].value;
//Controllo che sia stata selezionata una categoria valida
if (cat.length != 0) {
//Azzero il contenuto della seconda select
for (var i = subselect.length - 1; i >= 0; i--)
subselect.remove(i);
//Popolo la seconda Select
for (value in myMenu[cat]) {
//Creo il nuovo elemento OPTION da aggiungere nella seconda SELECT
var NewOpt = document.createElement('option');
NewOpt.value = value; // Imposto il valore
NewOpt.text = myMenu[cat][value]; // Imposto il testo
//Aggiungo l'elemento option
try {
subselect.add(NewOpt, null); //Metodo Standard, non funziona con IE
}
catch (e) {
subselect.add(NewOpt); // Funziona solo con IE
}
}
}
}
function sendme()
{
window.open("","myForm","width=600,height=270,toolbar=0,location=0,left=300,top=100");
var a = window.setTimeout("document.myForm.submit();",100);
}
</script>
e questa la porzione di codice html:
Codice PHP:
Scegli l'anno:
<select name="mySelect" onChange="popola_select()">
<option value="cat_d" selected="selected">-> Scegli l'anno</option>
<option value="uno">Primo anno</option>
<option value="due">Secondo anno</option>
<option value="tre">Terzo anno</option>
</select>
Scegli la materia:
<select name="mySubSelect">
</select>
Grazie in anticipo