2009-05-22 6 views

Antwort

13

Dies wird ein Listenfeld-Stil wählen Element anzuzeigen, die zu einem Zeitpunkt nur ein ausgewähltes Element erlaubt:

<select size="3"> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
</select> 

Die size atttribute steuert, wie viele Zeilen, die in der Steuerung sichtbar sind. Wenn Sie mehrere Elemente ausgewählt werden zulassen möchten, fügen Sie das Attribut multiple auf das Auswahlelement:

<select size="3" multiple="multiple"> 
+0

Ob dies funktioniert oder nicht, hängt vollständig vom Browser ab; Der HTML-Standard spezifiziert dieses Verhalten nicht, "Größe" trifft nur zu, wenn der Browser ein SELECT als Listbox rendert, was nie gemacht werden muss, auch wenn 'size' angegeben ist (an diesem Punkt ist es ziemlich explizit). –

+3

Die Frage war nicht, ob der HTML-Standard dies beinhaltet, sondern ob es möglich ist, dieses Verhalten zu erhalten. Während Sie richtig sind, dass es an der Implementierung liegt, dies zu entscheiden (Danke, dass Sie es auf BTW hingewiesen haben), haben sowohl IE als auch FF (die Browser, die ich gerade zum Testen zur Verfügung habe) dieses Verhalten implementiert. Also, ist es möglich? Ja. Ist das Verhalten in allen erfassbaren Benutzeragenten garantiert? Nr. –

0

Wie wäre eine geordnete Liste <ol> oder ungeordnete Liste <ul> mit Links für die Listeneinträge <li>?

4

Die Art und Weise, in der SELECT-Elemente gerendert werden, ist implementierungsabhängig. Die Tatsache, dass in den meisten Browsern multiple = "1" bekommt man eine (möglicherweise Scrolling) Box mit Optionen und multiple = "0" bekommt man eine Drop-Down-Box ist Zufall.

Es gibt keinen Standard für "Ich möchte ein Listenfeld, das nur eine Option erlaubt". auch

Siehe:

http://www.w3.org/TR/html401/interact/forms.html#h-17.6

+0

+1 Wichtige Dinge zu beachten. –