Problem den richtigen Index zufinden (Java,)
Hallo Leute,
Ich habe drei Pulldown Felder die voneinander abhängig sind
Die ersten beiden gehen beim dritten brauche ich eure Hielfe.
Pulldown 1 (Typ): wir aus einer mysql Tabelle gefühlt z.B. (Typ 1 , Typ 2)
Pulldown 2 (Karte): Mittels PHP werden Array passen zu den Typen erzeugt
z.B arrKarte[0]=new Array("choose...","Karte 1","Karte 2","..."); arrKarte_id[0]=new Array("0","1","2","...");
arrKarte[1]=new Array("choose...","Karte 1","..."); arrKarte_id[1]=new Array("0","3","...")
wenn ich im Pulldown 1 Typ1 wähle zeigt er im Pulldown 2 Karte1 und Karte2 das funktioniert auch
Hier der passende Code dazu.
Quellcode:
function typ_karte()
{
// Liest den Index aus und zieht eins ab um damit direkt auf das Array zugreifen zu können
var iSelectedIndex=self.document.forms[0].typ_id.selectedIndex-1;
// Legt die Anzahl der Options fest - 1 wegen ,-Problem
self.document.forms[0].karte.options.length=arrKarte[iSelectedIndex].length-1;
for (var iCnt=0; iCnt<(arrKarte[iSelectedIndex].length-1); iCnt+=1)
{
// Value aus dem Array auslesen und in die Select-Box einfügen
self.document.forms[0].karte.options[iCnt].value=arrKarte_id[iSelectedIndex][iCnt];
self.document.forms[0].karte.options[iCnt].text=arrKarte[iSelectedIndex][iCnt];
}
}
Pulldown 3 Port: soll jetzt je nach dem welche Karte ausgewählt ist unterschiedlcihe Ports anzeigen.
dazu habe ich die Ports wieder in eine Array gelesen.
arrPort[0]=new Array("0","1","..."); arrPort_id[0]=new Array("1","2","...");
arrPort[1]=new Array("0","1","2","3","..."); arrPort_id[1]=new Array("15","16","17","19","...");
arrPort[2]=new Array("0","1","..."); arrPort_id[2]=new Array("3","4","...");
arrPort[0] gehört zu Karte 1 Typ1
arrPort[1] gehört zu Karte 2 Typ1
arrPort[2] gehört zu Karte 1 Typ2
Wenn ich Typ 1 wähle dann stimmt alles egal welche karte ich nehem ich bekomme dich richtigen Ports.
Nur bei Typ 2 bekomme ich auch die Ports von Typ 1
Das Probelm ist ziemlich sicher das er den Index nicht richtig zählt Karte1 von Typ1 hat auch den gleichen Index wie Karte 1 von Typ2.
Nur was und vorallem wie mache ich was dagegen.
Dazu noch den Code
Quellcode:
function typ_port()
{
// Liest den Index aus und zieht eins ab um damit direkt auf das Array zugreifen zu können
var iSelectedIndex=self.document.forms[0].karte.selectedIndex-1;
// Legt die Anzahl der Options fest - 1 wegen ,-Problem
self.document.forms[0].port.options.length=arrPort[iSelectedIndex].length-1;
for (var iCnt=0; iCnt<(arrPort[iSelectedIndex].length-1); iCnt+=1)
{
// Value aus dem Array auslesen und in die Select-Box einfügen
self.document.forms[0].port.options[iCnt].value=arrPort_id[iSelectedIndex][iCnt];
self.document.forms[0].port.options[iCnt].text=arrPort[iSelectedIndex][iCnt];
}
}
Besten Dank
|