2010-10-11 22 views
18

Además del hecho de que solo IE7 + lo admite, ¿por qué usar algo como this example? A saber:¿Cuál es el punto del atributo <option> "etiqueta" dentro de <select>?

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

Después de todo, 'en latín significa 'ruedo'' y 'Avión sueca AB' se perdieron (es decir, sólo permanecen en el código fuente).

+4

"Además del hecho de que solo IE7 + lo admite," ¿qué otra razón * no * para usarlo necesita? :) – jensgram

+0

De acuerdo con w3schools, IE7 tampoco lo admite: http://www.w3schools.com/tags/att_option_label.asp#gsc.tab=0 –

+1

Esta opción siempre se ha sentido al revés y algo inútil para mí. Personalmente, me gustaría ver la etiqueta utilizada cuando la pantalla de bienes raíces es un bien escaso (por ejemplo, móvil). – EBarr

Respuesta

22

En ese ejemplo, el texto largo se enviará al servidor cuando se envíe el formulario.

Dada la existencia del atributo de valor, es redundante.

+0

Gracias. Así que deduzco que, si el atributo "valor" estuviera presente, el texto largo sería irrelevante, ¿no? Bastante desconcertante ... –

8

Según el definition of the option tag por el W3C:.

"Este atributo permite a los autores especificar una etiqueta más corta para una opción que el contenido del elemento OPTION Cuando se especifique, los agentes de usuario debe utilizar el valor de este atributo en lugar del contenido del elemento OPTION como la etiqueta de opción ".

La respuesta de David es bastante buena, solo quería agregar un enlace a la definición oficial. : D

+0

Bueno, también permite a los autores especificar una etiqueta _longer_ para una opción ... –

5

El atributo label establece explícitamente la etiqueta. me permitirá mejorar tu ejemplo:

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

El contenido de texto de <option> se utiliza como valor predeterminado para ambos: el etiquetado visual y el valor formulario/script “técnica” para esa opción. Puede sobrescribir el valor predeterminado para cada uno con los atributos label y value, respectivamente.

A los tres se puede acceder mediante Javascript.

Como Firefox no soporta label en <option> (pero funciona en <optgroup>) siempre se establece el contenido del texto de <option> para la etiqueta y se sustituye el valor “técnica” con el atributo value si es necesario.

Cuestiones relacionadas