В настоящее время элемент HTML5 <datalist>
поддерживается в большинстве основных браузеров (кроме Safari) и кажется интересным способом добавления предложений на ввод.
Однако существуют некоторые несоответствия между реализацией атрибута value
и внутренним текстом в <option>
. Например:
<input list="answers" name="answer">
<datalist id="answers">
<option value="42">The answer</option>
</datalist>
В разных браузерах это происходит по-разному:
Chrome и Opera:
FireFox и IE 11:
После его выбора вход заполняется значением, а не внутренним текстом. Я хочу, чтобы пользователь видел текст ( "Ответ" ) в раскрывающемся списке и на входе, но передал значение 42
на submit, как a select
.
Как я могу заставить все браузеры иметь раскрывающийся список показывать метки (внутренний текст) <option>
s, но отправлять атрибут value
при отправке формы?