<datalist>: Элемент HTML списка данных
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Элемент <datalist> HTML содержит набор элементов <option>, которые представляют допустимые или рекомендуемые варианты, доступные для выбора в других элементах управления.
Попробуйте
Для привязки элемента <datalist> к элементу управления мы даём ему уникальный идентификатор в атрибуте id, а затем добавляем атрибут list к элементу <input> с тем же идентификатором в качестве значения. Только определённые типы элементов <input> поддерживают такое поведение, и оно также может варьироваться в зависимости от браузера.
Каждый элемент <option> должен иметь атрибут value, который представляет собой предложение для ввода в поле ввода. Он также может иметь атрибут label, или, если его нет, некоторое текстовое содержимое, которое может отображаться браузером вместо value (Firefox) или в дополнение к value (Chrome и Safari, в качестве дополнительного текста). Точное содержимое раскрывающегося меню зависит от браузера, но при нажатии на него введённое в поле управления содержимое всегда будет взято из атрибута value.
Примечание: <datalist> не является заменой для <select>. Элемент <datalist> не представляет собой поле ввода; это список рекомендуемых значений для связанного элемента управления. Элемент управления всё ещё может принять любое значение, которое проходит проверку, даже если оно не находится в этом списке предложений.
Атрибуты
У этого элемента нет других атрибутов, кроме общих атрибутов глобальных атрибутов для всех элементов.
Доступность
При принятии решения об использовании элемента <datalist> следует учитывать следующие вопросы доступности:
- Размер шрифта параметров списка данных не масштабируется, всегда оставаясь неизменным. Содержимое автозаполнения не увеличивается и не уменьшается при масштабировании остального содержимого.
- Так как настройка стилей списка опций с помощью CSS очень ограничена или отсутствует, отображение не может быть стилизовано для режима высокой контрастности.
- Некоторые сочетания браузера и программы чтения с экрана, включая NVDA и Firefox, не объявляют содержимое всплывающего окна автозаполнения.
Примеры
Текстовые типы
Рекомендуемые значения в типах text, search, url, tel, email и number отображаются в раскрывающемся меню при щелчке или двойном щелчке по элементу управления. Обычно в правой части элемента управления также будет стрелка, указывающая на наличие предопределённых значений.
<label for="myBrowser">Choose a browser from this list:</label> <input list="browsers" id="myBrowser" name="myBrowser" /> <datalist id="browsers"> <option value="Chrome"></option> <option value="Firefox"></option> <option value="Opera"></option> <option value="Safari"></option> <option value="Microsoft Edge"></option> </datalist>
Типы даты и времени
Типы month, week, date, time и datetime-local могут отображать интерфейс, позволяющий удобно выбирать дату и время. Предопределенные значения могут отображаться там, что позволяет пользователю быстро заполнить значение элемента управления.
Примечание: Если тип не поддерживается, будет использоваться тип text для создания простого текстового поля. Это поле будет корректно распознавать рекомендуемые значения и отображать их пользователю в раскрывающемся меню.
<input type="time" list="popularHours" /> <datalist id="popularHours"> <option value="12:00"></option> <option value="13:00"></option> <option value="14:00"></option> </datalist>
Тип диапазона
Рекомендуемые значения в типе range будут отображаться в виде ряда рисок, которые пользователь может легко выбрать.
<label for="tick">Tip amount:</label> <input type="range" list="tickmarks" min="0" max="100" id="tick" name="tick" /> <datalist id="tickmarks"> <option value="0"></option> <option value="10"></option> <option value="20"></option> <option value="30"></option> </datalist>
Тип цвета
Тип color может отображать предопределённые цвета в интерфейсе, предоставляемом браузером.
<label for="colors">Pick a color (preferably a red tone):</label> <input type="color" list="redColors" id="colors" /> <datalist id="redColors"> <option value="#800000"></option> <option value="#8B0000"></option> <option value="#A52A2A"></option> <option value="#DC143C"></option> </datalist>
Тип пароля
Спецификация позволяет связать <datalist> с типом password, но ни один браузер не поддерживает это из соображений безопасности.
<label for="pwd">Enter a password:</label> <input type="password" list="randomPassword" id="pwd" /> <datalist id="randomPassword"> <option value="5Mg[_3DnkgSu@!q#"></option> </datalist>
Техническое описание
| Категории содержимого | Потоковое содержимое, фразовое содержимое. |
|---|---|
| Разрешённое содержимое | Либо фразовое содержимое, либо ноль или более элементов <option>. |
| Пропуск тегов | Нет, и открывающий, и закрывающий тег обязательны. |
| Разрешённые родительские элементы | Любой элемент, принимающий фразовое содержимое. |
| Неявная роль ARIA | listbox |
| Разрешённые роли ARIA | Нет role разрешены |
| Интерфейс DOM | HTMLDataListElement |
Спецификации
| Спецификация |
|---|
| Стандарт HTML # the-datalist-element |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
datalist |
20 | 12 | 4Элемент<datalist> будет создавать раскрывающееся меню только для текстовых типов, таких как text, search, url, tel, email и number. Типы date, time, range и color не поддерживаются. |
9.5 | 12.1 | 33 |
79Раскрывающееся меню, содержащее доступные варианты, не отображается. См. ошибку 1535985. |
20 | 12.2 | 2.0 | 4.4.3 |
См. также
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist