Wie kann man Optgroups mit Javascript erstellen?
Michael
- javascript
0 Axel Richter0 frankx
Guten Tag,
Ich habe zwei Drop-Down-Menüs, die abhängig voneinander sind. Soweit klappt das auch. Jetzt will ich aber bei function update_auswahl()(Javascript) nicht nur, dass neue Einträge(Options) in das 2. Drop-Down-Menü geschrieben werden, sondern auch Optgroups in der jeweils die Uhrzeit steht, die es aus &uhrzeit_d nimmt.
Mit dem Code von unten sieht es dann so z.B. aus:
16:30 Dortmund - Schalke
Da ich nachher, aber nur das angeklickte Spiel (ohne Uhrzeit) auslesen will, würd ich es gerne per Optgroup so haben.
16:30
Dortmund - Schalke
<?php
foreach ($spiele as $key => $element) {
$element = trim($element);
$uhrzeit_d[$key] = trim($uhrzeit_d[$key]);
$a='"';
echo "spieleAuswahl.options[{$key}] = new Option({$a}{$uhrzeit_d[$key]} {$element}{$a});<br />\n";
}
?>
Ich hab schon "new Optgroup" und ähnliches probiert, klappt aber alles nicht.
Ich wäre euch sehr dankbar für Antworten!
Danke
Michael
Hallo,
Jetzt will ich aber bei function update_auswahl()(Javascript) nicht nur, dass neue Einträge(Options) in das 2. Drop-Down-Menü geschrieben werden, sondern auch Optgroups in der jeweils die Uhrzeit steht, die es aus &uhrzeit_d nimmt.
Wo findet man die function update_auswahl()?
Mit dem Code von unten sieht es dann so z.B. aus:
16:30 Dortmund - Schalke
<?php
foreach ($spiele as $key => $element) {
$element = trim($element);
$uhrzeit_d[$key] = trim($uhrzeit_d[$key]);
$a='"';
echo "spieleAuswahl.options[{$key}] = new Option({$a}{$uhrzeit_d[$key]} {$element}{$a});<br />\n";
}
?>
Wo ist hier JavaScript zu sehen? Das, was das PHP-echo hier ausgibt, kann kein JavaScript sein. Es wäre z.B.:
spieleAuswahl.options[1] = new Option("16:30 Dortmund - Schalke");<br />
Das funktioniert, wegen <br>, im Javascript nicht.
Ein OPTGROUP-Element kannst Du mit document.createElement() erzeugen und dann mit .appendChild() als Child dem SELECT-Element hinzfügen.
Du wirst dann aber auch die OPTION-Elemente so erzeugen und den OPTGROUPs hinzufügen müssen. Das Einfache Hinzufügen in die options-Collection des SELECTs, wie in http://de.selfhtml.org/javascript/objekte/options.htm#neue_elemente, wird dann nicht mehr funktionieren.
viele Grüße
Axel
Hallo Michael,
<?php
foreach ($spiele as $key => $element) {
$element = trim($element);
$uhrzeit_d[$key] = trim($uhrzeit_d[$key]);
$a='"';
echo "spieleAuswahl.options[{$key}] = new Option({$a}{$uhrzeit_d[$key]} {$element}{$a});<br />\n";
}
?>
Vielleicht ist es auch sinnvoll, erstmal PHP von javascript zu trennen? Vielleicht hilft dir http://tek-tips.com/faqs.cfm?fid=4766?
Gruß, Frankx