ti indico i diversi passaggi che ho utilizzato per un mio sito:
1--- Tra i tag HEAD ---
codice:
<script>
var elementi = new Array(
<?
$q1="SELECT marca_mag, versione_mag FROM magazzino GROUP BY marca_mag, versione_mag ORDER BY marca_mag, versione_mag;";
$res1=mysql_query($q1);
echo '{text:"--- Tutti ---", value:"", indicatore:"0"}';
$js_w_marca="";
while ($row1=mysql_fetch_assoc($res1))
{
$js_versione=htmlentities($row1[versione_mag]);
$js_marca=htmlentities($row1[marca_mag]);
if ($js_w_marca != $js_marca)
{
echo ","."\n";
echo '{text:"--- Tutti ---", value:"", indicatore:"'.$js_marca.'"}';
}
echo ","."\n";
echo '{text:"'.$js_versione.'", value:"'.$js_versione.'", indicatore:"'.$js_marca.'"}';
$js_w_marca=$js_marca;
}
?>
);
</script>
<script>
function travasa(dove, valore) {
var k=0;
for (j=0; j<elementi.length; j++)
if (elementi[j].indicatore==valore) {
dove.options[k]=new Option(elementi[j].text, elementi[j].value);
k++
}
dove.options.length=k;
}
</script>
2--- Nel tag Body
codice:
<body onload="travasa(document.f.versione_inp,'0');">
3-- questa la select primaria
codice:
<select name="marca_inp" id="marca_inp" class="selectricerca" onChange="travasa(this.form.versione_inp, this.options[this.selectedIndex].value);">
<option value="0" selected>--- Tutte ---</option>
<?
$q1="SELECT * FROM magazzino GROUP BY marca_mag;";
$res1=mysql_query($q1);
while ($row1=mysql_fetch_assoc($res1))
{
echo '<option value="'.$row1["marca_mag"].'"';
echo ' >';
echo $row1["marca_mag"].'</option>';
}
?>
</select>
4-- Questa la select secondaria (Vuota perche' dinamica).
codice:
<select name="versione_inp" id="versione_inp" class="selectricerca">
</select>
Il risultato lo trovi qui