na początek niezbędny JS
Kod
function writeDynaList( selectParams, source, key, orig_key, orig_val ) {
var html = '\n <select ' + selectParams + '>';
var i = 0;
for (x in source) {
if (source[x][0] == key) {
var selected = '';
if ((orig_key == key && orig_val == source[x][1]) || (i == 0 && orig_key != key)) {
selected = 'selected="selected"';
}
html += '\n <option value="'+source[x][1]+'" '+selected+'>'+source[x][2]+'</option>';
}
i++;
}
html += '\n </select>';
document.writeln( html );
}
oraz zbiór wartości (tabela w JS)
Kod
var ds = new Array;
//ds[]= new Array ( 'grupa-id z poprzedniego selecta','id','wartosc' );
/np dla drugiego selecta
ds1[0] = new Array ( '1','293','war0' );
ds1[1] = new Array ( '1','292','war1' );
ds1[2] = new Array ( '1','291','war2' );
ds1[3] = new Array ( '1','284','war3' );
ds1[4] = new Array ( '1','283','war4' );
ds1[5] = new Array ( '1','282','war5' );
ds1[6] = new Array ( '2','258','war6' );
ds1[7] = new Array ( '2','175','war7' );
ds1[8] = new Array ( '2','164','war8' );
ds1[9] = new Array ( '2','6','war9' );
ds1[10] = new Array ( '3','341','war10' );
ds1[11] = new Array ( '3','340','war11' );
ds1[12] = new Array ( '3','333','war12' );
ds1[13] = new Array ( '3','332','war13' );
//oraz dla 3-ego selecta analogicznie tabela z danymi
teraz jak zagniezdzic to w html
<select name="dds0" onchange="changeDynaList( 'dds1', ds1, document.form.ds0.options[document.form.ds0.selectedIndex].value, 0, 0);">
<select name="dds1" onchange="changeDynaList( 'dds2', ds2, document.form.dds1.options[document.form.dds1.selectedIndex].value, 0, 0);"></select>
<!--na koniec przycisk wysyłający-->
<input type="submit" name="send" value="Wyślij">
Nie sprawdzałem czy dział ale myślę ze tak.
pozdro