Ciao a tutti.

In rete o meglio su html.it o trovato questo script che consente di far girare categorie e sottocategorie nella stessa select.

Visto che ero alla ricerca di un buon script che mi consentiva di visualizzare la categorie/sottocategorie potrebbe anche andarmi bene, però non saprei come rendere lo script dinamico con i dati prelevati da un db visto che al momento lo script risulta statico. Questo il codice:


codice:
<form name="dynamiccombo">
<select name="stage2" size="1" onChange="displaysub()">
<option value="#">Testo di riempimento</option>
<option value="#">Testo di riempimento</option>
<option value="#">Testo di riempimento</option>
</select>
<input type="button" name="test" value="Visita il sito!"
onClick="gothere()">
</form>

<script type="text/javascript" language="JavaScript">
<!--
//1: Qui si definiscono i link per le categorie principali
//Inserire altri elementi nell'array per creare altre voci
//La prima riga contiene il testo visualizzato come primo elemento


var category=new Array()
category[0]=new Option("Seleziona una categoria ", "") 
category[1]=new Option("Linguaggi", "combo1")
category[2]=new Option("Servizi", "combo2")
category[3]=new Option("Guide", "combo3")

//2: Qui si definiscono i link per le sottocategorie
//Inserire altri elementi nell'array per creare altre voci
//L'ultima riga dovrebbe contenere il testo per far tornare l'utente alle categorie principali

var combo1=new Array()
combo1[0]=new Option("FreePHP","http://www.google.it")
combo1[1]=new Option("FreeASP","http://www.google.it")
combo1[2]=new Option("TORNA ALLE CATEGORIE PRINCIPALI","")

var combo2=new Array()
combo2[0]=new Option("Webtool","http://www.google.it")
combo2[1]=new Option("Corsi di formazione","http://www.google.it")
combo2[2]=new Option("Libri","http://www.google.it")
combo2[3]=new Option("TORNA ALLE CATEGORIE PRINCIPALI","")

var combo3=new Array()
combo3[0]=new Option("Javascript","http://www.google.it")
combo3[1]=new Option("CSS","http://www.google.it")
combo3[2]=new Option("TORNA ALLE CATEGORIE PRINCIPALI","")

var curlevel=1
var cacheobj=document.dynamiccombo.stage2

function populate(x){
for (m=cacheobj.options.length-1;m>0;m--)
cacheobj.options[m]=null
selectedarray=eval(x)
for (i=0;i<selectedarray.length;i++)
cacheobj.options[i]=new Option(selectedarray[i].text,selectedarray[i].value)
cacheobj.options[0].selected=true

}

function displaysub(){
if (curlevel==1){
populate(cacheobj.options[cacheobj.selectedIndex].value)
curlevel=2
}
else
gothere()
}

function gothere(){
if (curlevel==2){
if (cacheobj.selectedIndex==cacheobj.options.length-1){
curlevel=1
populate(category)
}
else
location=cacheobj.options[cacheobj.selectedIndex].value
}
}
populate(category)
//-->
</script>
Spero che qualcuno possa aiutarmi o consigliarmi qualche altro buon script in merito...

Saluti x tutti...