So kommen wir ja nicht weiter.
Hier ist das läuft soweit, wobei ich aber nicht weiss ob das das ist was du willst.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Testcase</title>
<script type="text/javascript">
var alle = new Option("-- alle --");
var ganz = new Option("-- Ganz Österreich --");
var Bundesland = new Array();
Bundesland['Burgenland'] = new Array();
Bundesland.Burgenland[0] = new Option("Eisenstadt-Stadt");
Bundesland.Burgenland[1] = new Option("Eisenstadt-Umgebung");
Bundesland['Kärnten'] = new Array();
Bundesland['Kärnten'][0] = new Option("Feldkirchen");
Bundesland['Kärnten'][1] = new Option("Hermagor");
function chkBundesland(form)
{
var index = form.bundesland.selectedIndex;
if(index) form.bezirke.length = 1;
var b = form.bundesland.options[index].text;
if(b == "-- Ganz Österreich --") b = '';
var bezirke = getBezirke(b);
for(var i = 0; bezirke[i]; i++)
{
form.bezirke.options[i + 1] = bezirke[i];
}
}
function getBezirke(b)
{
if(b) return Bundesland[b];
var tmp = new Array();
for(var x in Bundesland)
for(var i = 0; Bundesland[x][i]; i++) tmp[tmp.length] = Bundesland[x][i];
return tmp;
}
</script>
</head>
<body>
<form>
<script>
document.write('<select name="bundesland" onchange="chkBundesland(this.form);">');
document.write('<option>' + ganz.text )
for(var bundesland in Bundesland)
{
document.write('<option>' + bundesland )
}
var tmp = getBezirke();
document.write('</select>');
document.write('<select name="bezirke">');
document.write('<option>' + alle.text )
for(var i = 0; tmp[i]; i++)
{
document.write('<option>' + tmp[i].text )
}
document.write('</select>');
</script>
</form>
</body>
</html>
Struppi.