Salve a tutti,
ho 2 select box (Stati e Provincie) che dovrebbero essere concatenate in questo modo:
1. quando lo stato selezionato è Italia appaiono nell'altro select box tutte le provincie italiane
2. quando è selezionato qualsiasi altro stato nel secondo select box appare solo la voce "estero"
Realizzare il primo caso non è un grosso problema, quello che non riesco a fare in modo dinamico è il caso 2 o perlomeno ci riesco in modo manuale cioè settando per tutte le voci group[x][0]=new Option("Estero"). C'è un modo per dire "se è diverso da Italia allora associa il valore estero" ?
Qualcuno ha idea di come fare?
Posto il codice preparare finora:
codice:
<select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
<option value="" > [Selezionare]</option>
<option value="italia" onChange="redirect(this.options.selectedIndex)"> Italia</option>
<option value="Albania">Albania</option>
<option value="Andorra">Andorra</option>
<option value="Argentina">Argentina</option>
...
</select>
<select name="stage2" size="1">
<option value="null">Selezionare</option>
</select> </p>
<input type="submit" name="invia" onClick="go()" value="invia"/><font color="#e14800">
<script type="text/javascript" language="JavaScript">
<!--
var groups=document.doublecombo.example.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()
group[0][0]=new Option("Selezionare")
group[1][0]=new Option("Agrigento")
group[1][1]=new Option("Alessandria")
group[1][2]=new Option("Ancona")
group[1][3]=new Option("Aosta")
group[1][4]=new Option("Arezzo")
group[1][5]=new Option("Ascoli")
group[1][6]=new Option("Asti")
group[1][7]=new Option("Avellino")
...
...
...
group[2][0]=new Option("Estero")
group[3][0]=new Option("Estero")
group[4][0]=new Option("Estero")
group[5][0]=new Option("Estero")
...
...
...
var temp=document.doublecombo.stage2
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
}
function go(){
location=temp.options[temp.selectedIndex].value
}
//-->
</script>
Grazie