Hi zusammen,
da ich noch immer kein JS-Profi bin, aber im Augenblick eine bisher einsprachige Webanwendung mit allem möglichen an Javascripten umarbeite, stellt sich für mich die Frage, wie ich dynamisch Option-Elemente zu einer Select-Liste hinzufügen kann, wobei die einzelnen Option-Elemente Unicode-Zeichen (z.b. Russisch, chinesisch) enthalten können?
Ich habe bisher zwar schon in der Form
neue Elemente hinzufügen können, doch dummerweise wird das [ALL] in dem obigen Beispiel vorher von einem Template-Parser in das landesspezifischen Unicode-Wort umgewandelt, z.B. steht dann dort:
正在产生报告,请& ;#31561;待
anstatt
正在产生报告,请等待
- und genau diese erste Zeichenfolge (anstatt der zweiten, interpretierten Ausgabe) wird anschließend in der Select-Box dargestellt.
Wenn die Seite beim ersten Mal dargestellt wird, sind die einzelnen Option-Werte noch fest vorgegeben und werden dann auch richtig dargestellt, aber erst nach dem Klick in eine weitere Select-Box werden die Elemente gegen die dynamischen Elemente getauscht und die Darstellung ist dann falsch.
Ich denke, das es evtl. daran liegen könnte, das beim Erzeugen eines Option-Elements in Javascript die innerText- und nicht die innerHTML-Funktion aufgerufen wird, aber das ist nur eine Mutmaßung.
Um die Sache noch abschließend abzurunden, hier der Grund meines Vorgehens:
die erste Select-Box enthält die Namen und IDs einzelner Geräte, die jeweils spezifische Informationen enthalten können (wie z.B. Effizienzen, Laufzeiten etc.) - die zweite Liste zeigt genau diese verfügbaren Informationen an.
Klickt man nun auf eine Maschine, so sollen jeweils nur die Elemente angezeigt werden, die für das eine Gerät relevant sind, damit bei einem anschließenden Datenbankauszug nur die richtigen Werte abgefragt werden.
Ich hatte gehofft, einfach dynamisch alle nicht-verfügbaren Optionen auszublenden, aber leider unterstützt das HTML-option-Element ja weder "display: none" noch "visibility: hidden".
Die Seite hat im Übrigen bereits ein entsprechendes Character-Set hinterlegt, in meinem Fall UTF-8.
Würde mich freuen, wenn jemand einen Ausweg aus dem Dilemma kennt oder mir den Fehler in meinem Vorgehen nennen könnte.
Danke im Voraus!
Gruß,
Sascha
da ich noch immer kein JS-Profi bin, aber im Augenblick eine bisher einsprachige Webanwendung mit allem möglichen an Javascripten umarbeite, stellt sich für mich die Frage, wie ich dynamisch Option-Elemente zu einer Select-Liste hinzufügen kann, wobei die einzelnen Option-Elemente Unicode-Zeichen (z.b. Russisch, chinesisch) enthalten können?
Ich habe bisher zwar schon in der Form
PHP-Code:
allreportsitem = new Option ("[ALL]","AllReports",false,false);
正在产生报告,请& ;#31561;待
anstatt
正在产生报告,请等待
- und genau diese erste Zeichenfolge (anstatt der zweiten, interpretierten Ausgabe) wird anschließend in der Select-Box dargestellt.
Wenn die Seite beim ersten Mal dargestellt wird, sind die einzelnen Option-Werte noch fest vorgegeben und werden dann auch richtig dargestellt, aber erst nach dem Klick in eine weitere Select-Box werden die Elemente gegen die dynamischen Elemente getauscht und die Darstellung ist dann falsch.
Ich denke, das es evtl. daran liegen könnte, das beim Erzeugen eines Option-Elements in Javascript die innerText- und nicht die innerHTML-Funktion aufgerufen wird, aber das ist nur eine Mutmaßung.
Um die Sache noch abschließend abzurunden, hier der Grund meines Vorgehens:
die erste Select-Box enthält die Namen und IDs einzelner Geräte, die jeweils spezifische Informationen enthalten können (wie z.B. Effizienzen, Laufzeiten etc.) - die zweite Liste zeigt genau diese verfügbaren Informationen an.
Klickt man nun auf eine Maschine, so sollen jeweils nur die Elemente angezeigt werden, die für das eine Gerät relevant sind, damit bei einem anschließenden Datenbankauszug nur die richtigen Werte abgefragt werden.
Ich hatte gehofft, einfach dynamisch alle nicht-verfügbaren Optionen auszublenden, aber leider unterstützt das HTML-option-Element ja weder "display: none" noch "visibility: hidden".
Die Seite hat im Übrigen bereits ein entsprechendes Character-Set hinterlegt, in meinem Fall UTF-8.
Würde mich freuen, wenn jemand einen Ausweg aus dem Dilemma kennt oder mir den Fehler in meinem Vorgehen nennen könnte.
Danke im Voraus!
Gruß,
Sascha
Kommentar