View Full Version : [Javascript]Aggiornare option di una select in base a quella di un'altra
Mattyfog
29-09-2010, 13:55
Salve a tutti!
Ho un file html così strutturato:
<select name="nome1">
<option value="value_lettere>lettere</option>
<option value="value_numeri>numeri</option>
</select>
<select name="nome2">
</select>
Premesso che non conosco il javascript ma dovrei capirlo senza problemi perchè conosco un po' di C#, mi sapreste dire come posso fare a popolare la select nome2 con i valori "a","b","c","d" se è stato selezionato "lettere" nella select nome1 e come far apparire i valori "1","2","3","4","5" se nella select nome1 è stato selezionato "numeri"?
Non credo sia una cosa complicata. Come detto non conosco javascript ma anche una base può bastare. Mi basterebbe giusto capire il funzionamento!
Grazie infinite!
<script>
function change(value) {
if (value == "value_lettere") {
document.getElementById("select").innerHTML = "<option>a</option><option>b</option><option>c</option><option>d</option>";
}
else if (value== "value_numeri") {
document.getElementById("select").innerHTML = "<option>1</option><option>2</option><option>3</option><option>4</option><option>5</option>";
}
}
change("value_lettere");
</script>
<select name="nome1" onchange="change(this.value)">
<option value="value_lettere">lettere</option>
<option value="value_numeri">numeri</option>
</select>
<select id="select" name="nome2">
</select>
questo non e' dinamico.. se lo vuoi dinamico usa ajax oppure struttura meglio la funzione change()
Mattyfog
29-09-2010, 14:16
Il fatto che non sia dinamico cosa implica? Si aggiorna in tempo reale?
dinamico potrebbe servirti se carichi dati da database ad esempio
Mattyfog
29-09-2010, 14:57
Io carico dati da un database.
Ma per inserire valori di una varabile nello script non basta scrivere <? echo $variabile; ?> in mezzo al codice dello script?
Mattyfog
30-09-2010, 17:12
<script>
function change(value) {
if (value == "value_lettere") {
document.getElementById("select").innerHTML = "<option>a</option><option>b</option><option>c</option><option>d</option>";
}
else if (value== "value_numeri") {
document.getElementById("select").innerHTML = "<option>1</option><option>2</option><option>3</option><option>4</option><option>5</option>";
}
}
change("value_lettere");
</script>
<select name="nome1" onchange="change(this.value)">
<option value="value_lettere">lettere</option>
<option value="value_numeri">numeri</option>
</select>
<select id="select" name="nome2">
</select>
questo non e' dinamico.. se lo vuoi dinamico usa ajax oppure struttura meglio la funzione change()
Mi spiegate a cosa serve quella riga?
inserisce nel secondo select le opzioni corrispondenti all'opzione selezionata di default ( la prima) del primo select
Mattyfog
07-10-2010, 15:46
Ho un problema! Il seguente codice non funziona anche se mi pare corretto!
<p>
<select onchange="section_change(this.value)" name="sezione">
<option value="4">Gite</option>
</select></p>
<script>
function section_change(value) {
if(value=="4")
{document.getElementById("select_categorie").innerHTML = "<option value=\"1\">Trekking</option><option value=\"2\">Arrampicata </option><option value=\"3\">Ciaspole</option>";
}
section_change("4");</script><p><select id="select_categorie" name="categoria"></select></p>
Mattyfog
08-10-2010, 22:34
up
metterei lo script della funzione in fondo. E' possibile che quando viene eseguito lo script, la select con id="select_categorie" non sia ancora stata parsata.
Mattyfog
10-10-2010, 11:38
Niente da fare non funziona.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.