Anja: Mehrfach Dropdown Menü

Beitrag lesen

Hallo,

ich habe mir im Netz ein Script für ein Dreifach Dropdown Menü gezogen, welches ich für mich erweitern wollte auf ein Vierfach Dropdown Menü. Jeweils die rechte Box enthält die Untermenüs der linken, also die 2. Box die der 1., die 3. die der 2. und die 4. soll die der 3. Box enthalten. Box 4 öffnet dann die Inhalte im Hauptframe. Da ich aber ziemlicher Anfänger bin, ist mir dabei irgendwo ein Fehler unterlaufen, ich weiß aber beim besten Willen nicht wo. Auf jeden Fall funktioniert es problemlos bis zur 3. Box, aber in Box 4 tut sich überhaupt nichts. Kann mir irgend jemand helfen, den Fehler zu finden. Wie gesagt, ich habe überhaupt keinen Plan, warum es nicht funktioniert.

Ich habe jetzt mal das komplette Script, so wie ich es verändert habe, hier rein kopiert. Meine Veränderungen/Ergänzungen habe ich groß geschrieben. Im Dreier Dropdown griff die Funktion redirect2(z) dann auf den Hauptframe zu.

Hier das Script:

<body>
<div align="center"><center>
<p align="center">
<FORM name="isc">
<table border="0" cellspacing="0" cellpadding="0">
<tr align="center">
<td nowrap height="11">  
<select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
<option selected>Modelle</option>
<option>Modell 1</option>
<option>Modell 2</option>
</select>

<select name="stage2" size="1" onChange="redirect1(this.options.selectedIndex)">
<option value=" " selected> </option>
<option value=" " selected>----------------------------</option>
<option value=" " selected>----------------------------</option>
</select>

<select name="stage3" size="1" onChange="redirect2(this.options.selectedIndex)">
<option value=" " selected></option>
<option value=" " selected>----------------------------</option>
<option value=" " selected>----------------------------</option>
</select>

<SELECT NAME="STAGE4" SIZE="1" ONCHANGE="REDIRECT3(THIS.OPTIONS.SELECTEDINDEX)">
<OPTION VALUE=" " SELECTED></OPTION>
<OPTION VALUE=" " SELECTED>----------------------------</OPTION>
<OPTION VALUE=" " SELECTED>----------------------------</OPTION>
</SELECT>

<script language="JavaScript">
<!--

function SymError()
{
  return true;
}

window.onerror = SymError;

//-->
</script>

<script>
<!--

var groups=document.isc.example.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()

group[0][0]=new Option("----------------------------","");

group[1][0]=new Option("Kategorie","");
group[1][1]=new Option("Kategorie 1a","");
group[1][2]=new Option("Kategorie 1b","");

group[2][0]=new Option("Kategorie","");
group[2][1]=new Option("Kategorie 2a","");
group[2][2]=new Option("Kategorie 2b","");

var temp=document.isc.stage2

function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
redirect1(0)
}

var secondGroups=document.isc.stage2.options.length
var secondGroup=new Array(groups)
for (i=0; i<groups; i++)  {
secondGroup[i]=new Array(group[i].length)
for (j=0; j<group[i].length; j++)  {
secondGroup[i][j]=new Array()  }}

secondGroup[0][0][0]=new Option("----------------------------","");
secondGroup[1][0][0]=new Option("----------------------------","");
secondGroup[1][1][0]=new Option("Unterkategorie"," ");
secondGroup[1][1][1]=new Option("Unter 1a1","");
secondGroup[1][1][2]=new Option("Unter 1a2","");

secondGroup[1][2][0]=new Option("Unterkategorie","");
secondGroup[1][2][1]=new Option("Unter 1b1","");
secondGroup[1][2][2]=new Option("Unter 1b2","");

secondGroup[2][0][0]=new Option("----------------------------","");
secondGroup[2][1][0]=new Option("Unterkategorie","");
secondGroup[2][1][1]=new Option("Unter 2a1","");
secondGroup[2][1][2]=new Option("Unter 2a2","");

secondGroup[2][2][0]=new Option("Unterkategorie","");
secondGroup[2][2][1]=new Option("Unter 2b1","");
secondGroup[2][2][2]=new Option("Unter 2b2","");

var temp1=document.isc.stage3

function redirect1(y){
for (m=temp1.options.length-1;m>0;m--)
temp1.options[m]=null
for (i=0;i<secondGroup[document.isc.example.options.selectedIndex][y].length;i++){
temp1.options[i]=new Option(secondGroup[document.isc.example.options.selectedIndex][y][i].text,secondGroup[document.isc.example.options.selectedIndex][y][i].value)
}
temp1.options[0].selected=true
REDIRECT2(0)
}

VAR THIRDGROUPS=DOCUMENT.ISC.STAGE3.OPTIONS.LENGTH
VAR THIRDGROUP=NEW ARRAY(GROUPS)
FOR (I=0; I<GROUPS; I++)  {
THIRDGROUP[I][J]=NEW ARRAY(SECONDGROUP[I][J].LENGTH)
FOR (K=0; K<SECONDGROUP[I][J].LENGTH; K++) {
THIRDGROUP[I][J][K]=NEW ARRAY() }
}

THIRDGROUP[0][0][0][0]=NEW OPTION("----------------------------","");
THIRDGROUP[1][0][0][0]=NEW OPTION("----------------------------","");
THIRDGROUP[1][1][0][0]=NEW OPTION("----------------------------","");
THIRDGROUP[1][1][1][0]=NEW OPTION("PRODUKTE"," ");
THIRDGROUP[1][1][1][1]=NEW OPTION("PRODUKT 1","PRODUKT1.HTML");
THIRDGROUP[1][1][1][2]=NEW OPTION("PRODUKT 2","PRODUKT2.HTML");

THIRDGROUP[1][1][2][0]=NEW OPTION("PRODUKTE"," ");
THIRDGROUP[1][1][2][1]=NEW OPTION("PRODUKT 3","PRODUKT3.HTML");
THIRDGROUP[1][1][2][2]=NEW OPTION("PRODUKT 4","PRODUKT4.HTML");

THIRDGROUP[1][2][0][0]=NEW OPTION("----------------------------","");
THIRDGROUP[1][2][1][0]=NEW OPTION("PRODUKTE"," ");
THIRDGROUP[1][2][1][1]=NEW OPTION("PRODUKT 5","PRODUKT5.HTML");
THIRDGROUP[1][2][1][2]=NEW OPTION("PRODUKT 6","PRODUKT6.HTML");

THIRDGROUP[1][2][2][0]=NEW OPTION("PRODUKTE"," ");
THIRDGROUP[1][2][2][1]=NEW OPTION("PRODUKT 7","PRODUKT7.HTML");
THIRDGROUP[1][2][2][2]=NEW OPTION("PRODUKT 8","PRODUKT8.HTML");

THIRDGROUP[2][0][0][0]=NEW OPTION("----------------------------","");
THIRDGROUP[2][1][0][0]=NEW OPTION("----------------------------","");
THIRDGROUP[2][1][1][0]=NEW OPTION("PRODUKTE"," ");
THIRDGROUP[2][1][1][1]=NEW OPTION("PRODUKT 1A","PRODUKT1A.HTML");
THIRDGROUP[2][1][1][2]=NEW OPTION("PRODUKT 2A","PRODUKT2A.HTML");

THIRDGROUP[2][1][2][0]=NEW OPTION("PRODUKTE"," ");
THIRDGROUP[2][1][2][1]=NEW OPTION("PRODUKT 3A","PRODUKT3A.HTML");
THIRDGROUP[2][1][2][2]=NEW OPTION("PRODUKT 4A","PRODUKT4A.HTML");

THIRDGROUP[2][2][0][0]=NEW OPTION("----------------------------","");
THIRDGROUP[2][2][1][0]=NEW OPTION("PRODUKTE"," ");
THIRDGROUP[2][2][1][1]=NEW OPTION("PRODUKT 5A","PRODUKT5A.HTML");
THIRDGROUP[2][2][1][2]=NEW OPTION("PRODUKT 6A","PRODUKT6A.HTML");

THIRDGROUP[2][2][2][0]=NEW OPTION("PRODUKTE"," ");
THIRDGROUP[2][2][2][1]=NEW OPTION("PRODUKT 7A","PRODUKT7A.HTML");
THIRDGROUP[2][2][2][2]=NEW OPTION("PRODUKT 8A","PRODUKT8A.HTML");

VAR TEMP2=DOCUMENT.ISC.STAGE4

FUNCTION REDIRECT2(A){
FOR (M=TEMP2.OPTIONS.LENGTH-1;M>0;M--)
TEMP2.OPTIONS[M]=NULL
FOR (J=0;J<THIRDGROUP[DOCUMENT.ISC.EXAMPLE.OPTIONS.SELECTEDINDEX][A].LENGTH;J++) {
TEMP2.OPTIONS[J]=NEW OPTION(THIRDGROUP[DOCUMENT.ISC.EXAMPLE.OPTIONS.SELECTEDINDEX][A][J].TEXT,THIRDGROUP[DOCUMENT.ISC.EXAMPLE.OPTIONS.SELECTEDINDEX][A][J].VALUE)
}
TEMP2.OPTIONS[0].SELECTED=TRUE
}

FUNCTION REDIRECT3(Z){
PARENT.HAUPTFRAME.LOCATION=TEMP2[Z].VALUE
}

//-->
</script>
</td></tr></table></FORM>
</center></div>
</body>

Ich wäre echt froh, wenn mir jemand helfen könnte.

Gruss
Anja