Ответ 1
В этом примере текст long будет отправлен на сервер при отправке формы.
Учитывая существование атрибута value, он избыточен.
Помимо того, что поддерживает только IE7 +, почему вы используете что-то вроде этот пример? А именно:
<select>
<option label="Volvo">Volvo (Latin for "I roll")</option>
<option label="Saab">Saab (Swedish Aeroplane AB)</option>
</select>
В конце концов, "Latin for" я roll "и" Swedish Airplane AB "теряются (т.е. остаются только в исходном коде).
В этом примере текст long будет отправлен на сервер при отправке формы.
Учитывая существование атрибута value, он избыточен.
В соответствии с определение тега опций с помощью w3c:
"Этот атрибут позволяет авторам указывать более короткую метку для опции, чем содержимое элемента OPTION. Когда указано, пользовательские агенты должны использовать значение этого атрибута, а не содержимое элемента OPTION в качестве метки метки."
Ответ Дэвида довольно хорош, я просто хотел добавить ссылку на официальное определение.: D
Атрибут label
явно устанавливает метку. Позвольте мне улучшить ваш пример:
<select>
<option label='Volvo (Latin for "I roll")'>Volvo</option>
<option label="Saab (Swedish Aeroplane AB)">Saab</option>
</select>
Текстовое содержимое <option>
используется как по умолчанию для: визуальной маркировки и "технической" формы /script для этой опции. Вы можете перезаписать по умолчанию для каждого с атрибутами label
и value
, соответственно.
Все три доступны через Javascript.
Поскольку Firefox не поддерживает label
в <option>
(но он работает в <optgroup>
), всегда устанавливайте текстовое содержимое <option>
для метки и перезаписывайте "техническое" значение с атрибутом value
, если необходимо.