Newsgroup: it.comp.lang.javascript
Titolo: Rimuovere elementi da combo box

Mi trovo nella seguente situazione:
ho 2 combo box fatte in questa maniera:
<select name=select1>
  <option value=1> Comune di Cesena-44 </option>
  <option value=2> Comune di Forlì-50 </option>
</select>
<select name=select2>
  <option value=44> Oltresavio </option>
  <option value=44> Pioppa </option>
  <option value=50> Cervese </option>
</select>
devo fare in modo che quando scelgo dalla prima combo (contiene i comuni) un
elemento; nella seconda combo (contiene i quartieri) mi vengano visualizzati
solo i quartieri che appartengono al comune scelto.
Per esempio se io scelgo Cesena devo fare in modo che all'uscita del campo o
comunque alla scelta dell'elemento mi venga restituito il numero 44 (dalla
stringa Comune di Cesena-44) e vengano tolti i quartieri che hanno il value
diverso da 44 così che quando clicca nella combo dei quartieri, ho solo la
possibilità di scegliere il quartiere del comune prescelto.
grazie a chiunque mi può aiutare.

 solo i quartieri che appartengono al comune scelto
<script language="JavaScript">
var comuni = new Array();
comuni[0] = new Array("Oltresavio", "Pioppa");
comuni[1] = new Array("Meldola", "Carpena", "Cervese", "Grisignano");
function cambia(n)
{
 with (document.mioform.select2) {
   while (options.length > 0)
   options[0]=null;
  for (var i=0; i<comuni[n].length; i++)
    options[i]=new Option(comuni[n][i],i)
  options.selectedIndex=0;
 }
}
</script>
</head>
<body bgcolor="#FFFFFF">
<form name="mioform">
<select name=select1 onChange="cambia(this.options.selectedIndex)">
  <option> Comune di Cesena-44 </option>
  <option> Comune di Forlě-50 </option>
</select>
<select name=select2>
  <option value=0> Oltresavio </option>
  <option value=1> Pioppa </option>
</select>
</form>
...
Maurizio.

   <option> Comune di Forlì-50 </option>


popolalo prima utilizzando il linguaggio che usi per scrivere il javascript!
Spero non sia eccessivamente pesante il tuo db..
LAMASE

 settati.... se hai qualche soluzione te ne sarei grato..
Puoi tentare di leggere gli elementi del secondo select, prima che vengano
modificati, e poi metterli negli array.
<form name=mioform>
<select name=select1>
  <option value=1> Comune di Cesena-44 </option>
  <option value=2> Comune di Forlì-50 </option>
</select>
<select name=select2>
  <option value=44> Oltresavio </option>
  <option value=44> Pioppa </option>
  <option value=50> Cervese </option>
</select>
</form>
<script language="JavaScript">
var comuni=new Array();
comuni[0] = new Array();
comuni[1] = new Array();
codici = new Array("44", 0,                // il codice 44 in comuni[0]
                                "50", 1);               // il codice 50 in
comuni[1]
with (document.mioform.select2)
    for (i=0; i < length; i++) {
        n = options[i].value;
        for (j=0; j < codici.length; j += 2)
            if (n == codici[j])
                break;
        if (j >= codici.length) {
           alert("errore, manca il codice " + n);
           continue;
        }
        idx = comuni[j/2].length;
        comuni[j/2][idx] = options[i].text;
    }
document.writeln("Verifica<br><br>");
for (i = 0; i < comuni.length; i++){
document.writeln("i = " + i + "<dir>")
 for (j = 0; j < comuni[i].length; j++)
  document.writeln(comuni[i][j] + "<br>");
document.writeln("</dir>")
}
</script>
Maurizio.