Тег datalist
Тег datalist создает автозаполнение
для полей ввода input
в HTML форме.
Суть автозаполнения: когда пользователь будет пытаться набрать что-то в поле ввода, снизу будет появляться всплывающая подсказка, которая будет представлять собой список доступных вариантов выбора. Пользователь сможет выбрать один из предложенных вариантов, не вводя его до конца.
Чтобы привязать к тегу input
автозаполнение, ему необходимо задать атрибут
list, в котором следует указать атрибут id
привязываемого тега datalist.
Варианты выбора хранятся в тегах option,
которые в свою очередь хранятся в теге datalist.
Пример
Давайте в поле ввода введем страну. Введем
вначале букву 'b' - и увидим вплывающую
подсказку из трех стран. Затем введем еще
и букву 'e' - количество предложенных
стран сократится до двух:
<input type="text" list="country">
<datalist id="country">
<option>Belarus</option>
<option>Belgium</option>
<option>Bulgaria</option>
</datalist>
:
Пример
Давайте теперь к тегу option добавим
атрибут value. При выборе определенной
страны в привязанный инпут попадет не название
страны, а содержимое атрибута value:
<input type="text" list="country-value">
<datalist id="country-value">
<option value="Belarus">Belarus - a country of lakes and potatoes</option>
<option value="Belgium">Belgium - a country where Belgians live</option>
<option value="Bulgaria">Bulgaria - a country for vacation</option>
</datalist>
:
Пример . Влияние атрибута autocomplete
На выпадающий список подсказок оказывает
влияние атрибут autocomplete.
Если он включен (а так и будет по умолчанию),
то к значениям, которые вы задали в теге
datalist, будут примешиваться те значения,
которые пользователь вводил в это поле ранее.
Вбейте в поле 'Brazil' и нажмите
кнопку отправки (без отправки браузер не запомнит эту страну).
Затем вернитесь к этому примеру
и введите букву 'b' - в появившемся
списке вы увидите не только 3 страны
из datalist, но и вбитую ранее страну (кроме
того, если вы проделаете то же самое со словом
'Belarus' - в выпадающем списке будет
это значение будет два раза).
Если вам это мешает - отключите атрибут autocomplete,
добавив ему значение off.
Проделайте описанные выше манипуляции с примером:
<form action="">
<input type="text" list="country" autocomplete="on">
<datalist id="country">
<option>Belarus</option>
<option>Belgium</option>
<option>Bulgaria</option>
<input type="submit">
</datalist>
</form>
:
Смотрите также
-
атрибут
autocomplete,
который задает автозаполнение полям формы