Selectboxeninhaltsänderungen mit onchange
Christian
- javascript
0 Arthur Dent0 Joachim
Hallo,
ich würde für ein kleines privates Projekt gerne ein Select-Formular mit 2 Ebenen benutzen. Statt vieler Worte ein kurzer Link:
http://www.nvidia.de/page/drivers.html
So wie dort die 3 Select-Boxen: Links die obergeordnete und rechts davon untergeordnete.
Die Option-Inhalte werden müssen dabei aus der db(mysql) geladen werden.
Dort wird's mit javascript (onchange) realisiert. Die Funktionsweise ist mir aus deren Quellcode aber nicht ersichtlich.
1.) Muss ich vorher alle Option-Inhalte der untergeordneten Select-Box aus der db laden und zwischenspeichern, auch wenn die entsprechende Kategorie (1. Select Box) nicht gewählt wird? Ja, oder?
2.) Weiß jemand eine Adresse, die mir bei dem javascript-Problem weiterhilft?
Grüße aus Münster
Christian
Morgäähn,
ich würde für ein kleines privates Projekt gerne ein Select-Formular mit 2 Ebenen benutzen. Statt vieler Worte ein kurzer Link:
http://www.nvidia.de/page/drivers.html
So wie dort die 3 Select-Boxen: Links die obergeordnete und rechts davon untergeordnete.
Die Option-Inhalte werden müssen dabei aus der db(mysql) geladen werden.
1.) Muss ich vorher alle Option-Inhalte der untergeordneten Select-Box aus der db laden und zwischenspeichern, auch wenn die entsprechende Kategorie (1. Select Box) nicht gewählt wird? Ja, oder?
Nein.
Du könntest dich hierfür in AJAX einarbeiten, oder dir mal das Parsen von XML-Dateien mit Javascript näher ansehen (die XML-Datei, welche die entsprechenden "Unter-Options" enthält, könntest du dynamisch mit z.B. PHP oder JSP erzeugen und in einem versteckten iFrame laden).
Oder schau dir mal remote scripting with iframe an.
Gruß,
Arthur D.
Hi,
1.) Muss ich vorher alle Option-Inhalte der untergeordneten Select-Box aus der db laden und zwischenspeichern
ja - wenn Du es nicht mit Ajax lösen willst.
2.) Weiß jemand eine Adresse, die mir bei dem javascript-Problem weiterhilft?
mit new Option(label, wert) kannst Du eine option erzeugen, die Du mit der gängigen Referenz einfügst:
ref = document.formname.selectname,
ref[n] = handler_Deiner_neuen Option
Ggf must Du zuvor "alte" Optionen löschen, indem Du ihnen den Wert null zuweist.
Gruesse, Joachim
Hallo Joachim,
danke für deinen Beitrag, hat mir geholfen.
Schöne Grüße
Christian