2010-10-11 5 views
18

Neben der Tatsache, dass nur IE7 + es unterstützt, warum würden Sie etwas wie this example verwenden? Nämlich:Was ist der Punkt der <option> "Label" -Attribut in <select>?

<select> 
    <option label="Volvo">Volvo (Latin for "I roll")</option> 
    <option label="Saab">Saab (Swedish Aeroplane AB)</option> 
</select> 

Immerhin ‚lateinisch für‚ich rolle‘‘ und ‚schwedische Flugzeug AB‘ sind verloren (das heißt, bleiben nur im Quellcode).

+4

"Abgesehen von der Tatsache, dass nur IE7 + es unterstützt," was anderer Grund * nicht *, um es zu verwenden brauchen Sie? :) – jensgram

+0

Laut w3schools, IE7 unterstützt es auch nicht: http://www.w3schools.com/tags/att_option_label.asp#gsc.tab=0 –

+1

Diese Option hat immer auf den Kopf gestellt und Art von nutzlos für mich. Ich persönlich würde gerne sehen, dass das Label verwendet wird, wenn die Bildschirm-Immobilien einen hohen Stellenwert haben (sagen wir mobil). – EBarr

Antwort

22

In diesem Beispiel wird der lange Text an den Server gesendet, wenn das Formular übermittelt wird.

Da das Wertattribut existiert, ist es redundant.

+0

Danke. Ich nehme also an, dass, wenn das Attribut "Wert" vorhanden wäre, der lange Text irrelevant wäre, oder? Ziemlich beunruhigend ... –

8

Gemäß der definition of the option tag vom w3c.

„Dieses Attribut erlaubt Autoren eine kürzere Bezeichnung für eine Option als der Inhalt des OPTION-Element angeben Wenn angegeben, Benutzerprogramme den Wert dieses Attributs verwenden sollten und nicht den Inhalt des OPTION-Elements als Optionsbezeichnung. "

Davids Antwort ist ziemlich gut, ich wollte nur einen Link zur offiziellen Definition hinzufügen. : D

+0

Nun, es erlaubt auch Autoren, ein _long_ Label für eine Option anzugeben ... –

5

Das Attribut label legt explizit die Bezeichnung fest. Erlauben Sie mir folgende Beispiel zu verbessern:

<select> 
    <option label='Volvo (Latin for "I roll")'>Volvo</option> 
    <option label="Saab (Swedish Aeroplane AB)">Saab</option> 
</select> 

Der Textinhalt von <option> wird als Standard für beide verwendet: die visuelle Kennzeichnung und die „technische“ Form/script Wert für diese Option. Sie können den Standardwert für jedes mit dem Attribut label bzw. value überschreiben.

Alle drei können von Javascript zugegriffen werden.

Wie Firefox nicht unterstützt label in <option> (aber es funktioniert in <optgroup>) immer den Textinhalt <option> für das Label eingestellt und den „technischen“ Wert mit dem value Attribute überschrieben werden, wenn nötig.

Verwandte Themen