Ho un problema con queste due funzioni che controllano due menu select dipendenti tra loro (attenzione, interdipendenti, non subordinati!):Il problema di questo script è che elimina soltanto le selezioni non pertinenti, ma quando si cambia selezione in un uno, nel secondo rimangono solo quelle che esistono anche nel primo, se ne dovessero esistere anche altre, niente, non verrebbero mostrate lo stesso! Ci sto impazzendo dietro questo codice :dipser: :dipser: :dipser:codice:function limita_c(pp) { var ss = pp.form.c; var valore = pp.options[pp.selectedIndex].value; for(var i = ss.length - 1; i > 0; i --) { var tt = ss.options[i].value; var presente = false; for(var j = 0; j < marche[valore].length; j ++) { if(marche[valore][j] == tt) { presente = true; break; } } if(!presente){ ss.options[i] = null; } } } function limita_p(cc) { var ss2 = cc.form.p; var valore2 = cc.options[cc.selectedIndex].value; for(var i2 = ss2.length - 1; i2 > 0; i2 --) { var tt2 = ss2.options[i2].value; var presente2 = false; for(var j2 = 0; j2 < prodotti[valore2].length; j2 ++) { if(prodotti[valore2][j2] == tt2) { presente2 = true; break; } } if(!presente2){ ss2.options[i2] = null; } } }
P.S.: ho tralasciato gli array e i menu select perchè quelli sono già a posto e funzionanti.