split einbauen in drap down
Bahar
- javascript
Hallo zusammen ich habe 2 Drop down Felder. In dem einen sind die Reihennummern gespeichert. Anhand der gewählten Reihennummern, zeigt das 2 Drop down Feld welche Plätze in dieser Reihe sind. Soo da in einer Reihe mehrere Plätze vorkommen können, z.B. Reihe 1 hat Plätze A001, A002,A003 usw. Ich will aber jetzt das im 2 Drip down Feld, mehrere Plätze sind das er die untereinander zeigt und ich die wählen kann. Nur momentan zeigt er die mir so in einer Reihe an wie beim Beispiel beschrieben. Hier mein Code:
function update_auswahl() {
var reihe = document.forms.formular.reihen;
var platz = document.forms.formular.plaetze;
platz.options.length = 0; // DropDown Menü entleeren
var platzArray = new Array();
<?php
// Hier lese ich mein 2 dimensionales Array aus in dem meine Reihen und Plätze sind
foreach ($plaetze as $reihe => $array) {
echo ("platzArray[$reihe] = Array();");
foreach ($array as $key => $platz) {
echo ("platzArray[$reihe][$key] = '$platz';");
}
}
?>
for(var i = 0;
i < platzArray[reihe.options[reihe.selectedIndex].value].length; i++){
platz.options[platz.options.length]=newOption(platzArray[reihe.options[reihe.selectedIndex].value]);
}
}
Wo genau muss ich den split befehl einbauen meine Vermutung ist in der forschleife.
Mahlzeit Bahar,
Hallo zusammen ich habe 2 Drop down Felder.
Hast Du Dich bereits zum Thema "verkettete Auswahlliste" informiert?
In dem einen sind die Reihennummern gespeichert. Anhand der gewählten Reihennummern, zeigt das 2 Drop down Feld welche Plätze in dieser Reihe sind.
Das klingt nämlich verdammt danach ...
Soo da in einer Reihe mehrere Plätze vorkommen können, z.B. Reihe 1 hat Plätze A001, A002,A003 usw. Ich will aber jetzt das im 2 Drip down Feld, mehrere Plätze sind das er die untereinander zeigt und ich die wählen kann.
Ja, dann bau doch Dein HTML entsprechend auf.
Nur momentan zeigt er die mir so in einer Reihe an wie beim Beispiel beschrieben.
Dann baust Du Deine Auswahlliste in HTML nicht ordentlich zusammen.
function update_auswahl() {
var reihe = document.forms.formular.reihen;
var platz = document.forms.formular.plaetze;
platz.options.length = 0; // DropDown Menü entleeren
var platzArray = new Array();
Interessant. Und wo und wie wird diese Funktion aufgerufen?
<?php
// Hier lese ich mein 2 dimensionales Array aus in dem meine Reihen und Plätze sind
foreach ($plaetze as $reihe => $array) {
echo ("platzArray[$reihe] = Array();");
foreach ($array as $key => $platz) {
echo ("platzArray[$reihe][$key] = '$platz';");
}
}
?>
Schön und gut. Bei clientseitigen Problemen (und um ein solches scheint es sich zu handeln ... genau sagen kann man das ja nicht, da Du keine genaue Fehler- bzw. Problembeschreibung geliefert hast) ist serverseitiger Code extrem irrelevant.
for(var i = 0;
i < platzArray[reihe.options[reihe.selectedIndex].value].length; i++){platz.options[platz.options.length]=newOption(platzArray[reihe.options[reihe.selectedIndex].value]);
}
Aha. Du füllst hier also Deine Auswahlliste mit den Optionen, die Du vorher aus PHP geholt und als Javascript-Array angelegt hast.
}
Wo genau muss ich den split befehl einbauen meine Vermutung ist in der forschleife.
Ich vermute, Du musst zunächst einmal für Deine Leser entweder genau beschreiben, was Dein Problem ist, oder relevanten Code und/oder ein online erreichbares Beispiel zur Verfügung stellen ...
MfG,
EKKi
hi Ekki ja alles klappt also das die Dropdown felder verkettet sind klappt alles er macht alles richtig. Das Problem ist ganz einfach, wenn eine reihe mehrere Plätze hat dann sieht es so aus:
Reihe Platz
1 A001, A002
2 B001
soo ich will aber, dass bei Reihe 1 die plätze untereinander gesplittet sind. Mein Problem ist einfach das ich nicht weiss wie ich in den code den ich da aufgezeigt habe den split einbaue. Mache ich das in das foreach oder doch unten wo die forschleife ist? Also zur Verdeutlichung Ziel soll so aussehen:
Reihe Platz
1 A001
A002
Mahlzeit Bahar,
klappt alles er macht alles richtig.
Anscheinend ja nicht, sonst würdest Du nicht fragen ... :-)
Das Problem ist ganz einfach, wenn eine reihe mehrere Plätze hat dann sieht es so aus:
Reihe Platz
1 A001, A002
2 B001
Was sieht so aus? Sollen das zwei Auswahllisten sein? Zeige doch bitte mal relevanten HTML-Code, damit man sich mal anschauen kann, was eigentlich genau dargestellt wird.
soo ich will aber, dass bei Reihe 1 die plätze untereinander gesplittet sind.
D.h. Du willst, dass wenn jemand in der ersten Auswahlliste "Reihe 1" auswählt, dass dann in der zweiten Auswahlliste alle Plätze der Reihe 1 als Optionen angezeigt werden? Und wenn jemand in der ersten Liste "Reihe 2", dann sollen in der zweiten Liste alle Plätze der Reihe 2 erscheinen usw.?
Mein Problem ist einfach das ich nicht weiss wie ich in den code den ich da aufgezeigt habe den split einbaue.
Mein Problem ist einfach, dass ich überhaupt nicht weiß, WAS GENAU Du eigentlich willst. Du als Fragender solltest Dich in Deine Leser hineinversetzen und ihnen alle Informationen liefern, die sie brauchen: "keine Arme - keine Kekse". Niemand hier kennt Deinen Code, Deine Seite, Deine Absichten und Deine Daten. Solange Du vage Andeutungen machst und nicht genau beschreibst, was passiert, was angezeigt wird und was Du eigentlich willst, kannst Du nicht erwarten, dass irgendjemand eine Patentlösung parat hat. Es kann keiner Deine Gedanken lesen. Und solange nicht ansatzweise bekannt ist, wie Dein HTML-Code aussieht bzw. aussehen soll, helfen auch Javascript- und PHP-Code und -Funktionen nicht.
Mache ich das in das foreach oder doch unten wo die forschleife ist?
Das kommt darauf an.
Also zur Verdeutlichung Ziel soll so aussehen:
Reihe Platz
1 A001
A002
Was genau soll das sein? HTML? Inhalte Deiner Auswahlliste(n)?
MfG,
EKKi
JA das sind meine Auswahllisten. Ich habe aber das Problem gefunden. Ich musste die Optionen von dem 2 Drop down Feld
,wo meine Plätze sind, mehrfach mit einer forschleife reinladen und nicht einmalig. Hat sich erledigt trotzdem danke.