auswahlliste mit size=1
marbo
- html
1 wahsaga0 marbo0 Sven Rautenberg0 marbo
Hallo*,
ich habe eine Frage zu Auswahllisten mit size=1:
Ich habe in der Liste 20 Einträge, möchte aber, wenn ich die Liste aufklappe, dass nur z.B. 5 angezeigt werden (mit Scrollbalken, damit man ja auch an den Rest rankommt), da es sonst recht unschön aussieht. Gibt es die Möglichkeit, festzulegen, wieviele Elemente beim Aufklappen angezeigt werden?
Viele Grüße,
marbo
hi,
Gibt es die Möglichkeit, festzulegen, wieviele Elemente beim Aufklappen angezeigt werden?
Nein.
gruß,
wahsaga
Gibt es vlt eine Möglichkeit mit css oder javascript?
Ich weiss, dieses Problem wurde schon öfter diskutiert, aber man
bekommt immer nur als Antwort, das geht nicht. Und daraus wird mir
nicht ganz klar, ob das generell nicht geht, oder ob das in reinem
HTML nicht geht.
Ich hab ja gelesen, dass das anscheinend Browsersache ist, aber ich
versteh nicht, warum ich festlegen kann, wie viele Elemente
angezeigt werden (mit size, also ist es DropDown oder Liste), aber
nicht, wie viele Elemente nach dem Aufklappen einer DropDown
angezeigt werden sollen ohne Scrollen zu müssen (bei size=1).
Moin!
Gibt es vlt eine Möglichkeit mit css oder javascript?
"Und" - mit Javascript UND CSS - und eigenständigem HTML - kannst du dir etwas zusammenbasteln, was wie ein <select>-Feld aussieht und auch so reagiert, allerdings keines ist. So eine Lösung ist aber wesentlich kritischer, als ein normales Select-Feld, denn das Original verhält sich genau so, wie alle anderen Auswahlfelder, die das Betriebssystem kennt - dein Nachbau verhält sich nicht so, und alle eventuell vorhandenen Eingabehilfen wie z.B. Mausscrollrad etc. würden bei deinem Nachbau nicht funktionieren.
Ich weiss, dieses Problem wurde schon öfter diskutiert, aber man
bekommt immer nur als Antwort, das geht nicht. Und daraus wird mir
nicht ganz klar, ob das generell nicht geht, oder ob das in reinem
HTML nicht geht.
In HTML ist keinerlei Attribut zur Definition einer Anzeigelänge vorgesehen. Deshalb gehts mit reinem HTML nicht. Stattdessen mißt der Browser selbst aus, wieviel Platz ihm für die Anzeige der ausklappenden Liste zur Verfügung steht, und paßt die Länge entsprechend an. Das ist viel komfortabler für den Benutzer.
Beispielsweise ändert sich auch dynamisch die Richtung, in die die Liste ausklappt. Ist unterhalb des Feldes weniger Platz, als benötigt wird, klappt die Liste nämlich nach oben aus.
Ich hab ja gelesen, dass das anscheinend Browsersache ist, aber ich
versteh nicht, warum ich festlegen kann, wie viele Elemente
angezeigt werden (mit size, also ist es DropDown oder Liste), aber
nicht, wie viele Elemente nach dem Aufklappen einer DropDown
angezeigt werden sollen ohne Scrollen zu müssen (bei size=1).
Ganz simpel: Es ist damals nur ein Attribut für die Größe der Anzeigeliste definiert worden, aber keines für die Länge der Ausklappliste.
Es ist übrigens Standardverhalten für alle Programmiersprachen und nicht nur in HTML-Browsern, dass solche Listen standardmäßig "passend" groß aufklappen, ohne dass man eine Anzahl an anzuzeigenden Inhalten definiert. Aber mit normalen Programmiersprachen, die sehr systemnah operieren können, hat man eben Möglichkeiten haben, die man mit HTML und Javascript nicht hat.
- Sven Rautenberg
Vielen Dank für diese ausführliche Antwort.
Ich hab es mit einiger Hilfe geschafft, mir etwas selbst zu bauen mit javascript, bzw nachzubauen, ist quasi eine ComboBox:
Hab quasi ein Textfeld und daneben ein Button platziert. wenn ich auf den Button bzw das Textfeld klick, dann erscheint unter dem Textfeld eine Liste (z.B. mit size=5). Wenn ich daraus etwas auswähle, wird diese Liste wieder ausgeblendet.
Scheint auch zu funktionieren, auch wenn ich es bisher nur im IE 6 und FF 1.5 angeschaut hab.