WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 25.01.2006, 12:45   #1
spöppi
Newbie
 
Registriert seit: 20.12.2005
Alter: 49
Beiträge: 7


Standard 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
spöppi ist offline   Mit Zitat antworten
Alt 25.01.2006, 17:40   #2
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

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>";
3. Es gibt [ code ] [ /code ], damit bleiben die Leerzeichen im Quelltext erhalten. Damit wird's lesbarer.

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)
jak ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:24 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag