Stefan vdM: Drop Down dynamisch anpassen

Hallo,
ich ändere die Options (Wert und Anzahl) einer select-Auswahl mit size=1 (DropDownMenü)  über ein JavaScript. MSIE4 kann die Breite automatisch anpassen, mit Navigator habe ich ein Problem, wenn neue Elemente breiter sind. Sie sind dann nicht lesbar. Kann ich die Breite irgendwie nachträglich anpassen?
Wenn das Menü ausrollt, so ist die sichtbare Länge der Liste außerdem so, wie die Anzahl der Elemente beim Laden des HTML-Dokuments war. Wenn ich nur eine Option definiert habe, und gehe im Browser auf "Seite neu laden", dann ist die Liste nur einzeilig, auch wenn mein Script anschließend zusätzliche Optionen definiert hat. Die einzeilige Liste hat zwar einen Scroll-Bar, aber einzeilig zwischen 20 Optionen zu scrollen, ist doch sehr unpraktisch. Der MSIE4 hat auch hier keine Probleme, aber der Navigator. Kann man irgendwie den Browser veranlassen, die select-Box zu aktualisieren?

Mit der Hoffnung auf Eure Hilfe

Stefan

  1. Hi,

    ich ändere die Options (Wert und Anzahl) einer select-Auswahl mit size=1 (DropDownMenü)  über ein JavaScript. MSIE4 kann die Breite automatisch anpassen, mit Navigator habe ich ein Problem, wenn neue Elemente breiter sind. Sie sind dann nicht lesbar. Kann ich die Breite irgendwie nachträglich anpassen?

    das ist schwierig, weil Netscape nachträglich die allgemeine Darstellung kaum ändern kann - also besonders die Größe von Elementen. Die Seite muß schon komplett neu vom Browser geparsed werden, was aber Probleme mit den values gibt, vermute ich.

    Ich an Deiner Stelle würde zu Beginn einen Dummy-Wert mit maximaler Breite eintragen, z.B. "--------------------" oder so. Wenn Du es geschickt machst, kannst Du diesen Wert für nicht-DHTML-fähige Browser nutzen (ich weiß ja nicht, was Du vorhast, aber Du solltest auf jeden Fall bedenken, daß nicht jeder Browser die values beliebig ändern kann).

    Wenn das Menü ausrollt, so ist die sichtbare Länge der Liste außerdem so, wie die Anzahl der Elemente beim Laden des HTML-Dokuments war. Wenn ich nur eine Option definiert habe, und gehe im Browser auf "Seite neu laden", dann ist die Liste nur einzeilig, auch wenn mein Script anschließend zusätzliche Optionen definiert hat. Die einzeilige Liste hat zwar einen Scroll-Bar, aber einzeilig zwischen 20 Optionen zu scrollen, ist doch sehr unpraktisch. Der MSIE4 hat auch hier keine Probleme, aber der Navigator.

    Das ist mir zwar neu, wundert mich aber nicht. Die Lösung ist analog zur oberen: Setze einfach zehn statt einem Wert am Anfang, lösche die Werte anschließend mit JavaScript wieder, oder überschreibe sie mit "richtigen" Werten. Eine andere Lösung sehe ich im Moment nicht, es sei denn Du willst alle Werte in einen anderen Frame retten und die Seite mit reload() o.ä. neu aufbauen. Das wäre zwar möglich, dürfte aber äußerst kompliziert werden - besonders was crossbrowser-Kompatibilität betrifft.

    Cheatah