Newsgroup: it.comp.lang.javascript
Titolo: pull over dinamici a tre livelli

chi mi aiuta a trovare il codice per popolare dei pull over dinamici a tre
livelli...
Come accade ad esempio per Regioni-->Provincie-->Comuni
Ho trovato il codice per un esempio a 2 livelli, ma a me serve uno a 3
livelli.
Confido nel vostro aiuto

 livelli.
Posta il codice, o se e' troppo lungo, scrivi il link di dov'e' possibile
trovarlo, che se e' abbastanza semplice modifichiamo quello che hai gia'
senza cambiarti troppe carte in tavola.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"Questa e' una lezione difficile, ma importante: Cio' che e' stato, e cio'
che sara', non cambia cio' che e'.
Sta a te decidere poi come prendere questa cosa,se logorarsi per un passato
che non puoi cambiare, invece di prendere tutto il bene che il presente ti
offre." ()

 ha scritto nel messaggio
news:3fu3nlo3...@ID-171124.news.individual.net...


 ecco il codice.... pensi sia modificabile?
Allora.. modificabile e' modificabile.. e anche ottimizzabile, se e' per
questo.
Se hai bisogno di delucidazioni, chiedi pure. Ho tentato di mantenerti la
logica invariata, anche se sinceramente (soprattutto quando si ha un grosso
quantitativo di informazioni), sarebbe bene ristrutturare la logica
applicativa, magari orientando ad oggetti lo storaggio dei dati invece che
usare dei semplici array. Ma non voglio complicarti troppo la vita:
<HTML>
<HEAD>
<TITLE>Pulldown Menu Dinamici</TITLE>
<script type="text/javascript">
var nomi = new Array("marco","sara","carlo","angelo");
var frutta = new Array("pere","mele","pesche");
var colori = new Array("rosso", "bianco", "verde", "marrone");
var mele = new Array("rosse", "verdi", "acerbe","mature","da buttare");
function swapOptions(sender,dest){
	setOptionText(dest,window[sender.options[sender.selectedIndex].text]);
}
function setOptionText(dest, dataSource){
	dest.options.length=0;
	if (dataSource){		
		for (var i=0; i < dataSource.length; i++)
			dest.options[i]=new Option(dataSource[i],i);
	}else{
		dest.options[0]=new Option("-------");
	}
	if (dest.onchange)
		dest.onchange();
}
</script>
</HEAD>
<form name="mioform">
<select size="1" name="categoria"
onChange="swapOptions(this,this.form.esempi);">
	<option>nomi</option>
	<option>frutta</option>
	<option>colori</option>
</select>
<select size="1" name="esempi"
onchange="swapOptions(this,this.form.terza);">
	<option>-------</option>
</select>
<select size="1" name="terza">
	<option>-------</option>
</select>
</form>
</body>
</html>
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

On Tue, 16 Dec 2003 16:27:14 +0100, Cor_Pie() wrote:
Piccola nota:
Netscape 4.x con la generazione di oggetti option a runtime e' un po'
farlocca, se ti interessa testarlo ed hai modo di verificarlo, ti farai
quattro risate :)
Dato che gia' il tuo precedente codice soffriva di questo "bug" ho pensato
che non ti interessasse il supporto per NS4.x.
Se invece tu volessi supportarlo, le modifiche da fare sono minimali. Basta
che nel codice HTML tu imposti delle option "fittizie" per dargli le
"dimensioni" della lista:
<select size="1" name="esempi"
onchange="swapOptions(this,this.form.terza);">
	<option>-------</option>
	<option></option>
	<option></option>
</select>
