![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Newbie
![]() Registriert seit: 20.12.2005
Alter: 49
Beiträge: 7
|
![]() 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 |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
![]() 1. JavaScript != Java.
2. Wenn du dir die Daten sowieso mit php aus einer Datenbank holst, wieso schreibst du dann nicht auch die <select> Felder mit php? also etwas wie: Code:
echo "<select>" Schleife { echo "<option value=""> text </option>;" } echo "</select>"; jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|