Guarda,
visualizzando il sorgente della pagina trovi già la tua soluzione:
Codice PHP:
/*
Script tratto dal libro "JavaScript and DHTML Cookbook" - Capitolo 8-13
Pubblicato da O'Reilly & Associates
Copyright 2003 Danny Goodman
Riprodurre questa nota per qualunque riutilizzo del codice.
*/
Non conosco quel libro ma il codice funziona pressoche in questo modo:
è un normalissimo form dove sono presenti 2 select, la seconda delle quali cambia il suo contenuto quando si modifica la prima, questo è l'html della prima select:
Codice PHP:
<select name="chiavecategoria" onChange="setCities(this)">
Questo della seconda:
Codice PHP:
<select name="chiavedecoro">
La funzione che viene richiamata all'evento 'onchange', setCities, serve ad inserire uno degli array javascript presenti nel codice della pagina all'interno della seconda select:
Codice PHP:
function setCities(chooser) {
var newElem;
var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
var cityChooser = chooser.form.elements["chiavedecoro"];
while (cityChooser.options.length) {
cityChooser.remove(0);
}
var choice = chooser.options[chooser.selectedIndex].value;
var db = regiondb[choice];
newElem = document.createElement("option");
newElem.text = "Tutti i decori";
newElem.value = "";
cityChooser.add(newElem, where);
if (choice != "") {
for (var i = 0; i < db.length; i++) {
newElem = document.createElement("option");
newElem.text = db[i].text;
newElem.value = db[i].value;
cityChooser.add(newElem, where);
}
}
}
Per esempio se scegli la voce bomboniere nella prima select, questa:
Codice PHP:
<option value="Bomboniere">Bomboniere</option>
la funzione setCities cerca se esiste una la proprietà "Bomboniere" nell'oggetto regiondb, ( regiondb["Bomboniere"]), se lo trova elimina le option attualmente esistenti nella seconda select e inserisce le nuove specificate dall'array trovato se esistono.
Il Php in questo caso potrebbe essere utilizzato per scrivere il codice javascript.
Spero di esserti stato di aiuto.
Ciao