Spec-Zone.ru › HTML

<datalist> Элемент списка данных HTML

Ограниченная доступность

Эта функция не входит в Baseline, поскольку не работает в некоторых из наиболее широко используемых браузеров.

  • Подробнее
  • Полная таблица совместимости
  • Оставить отзыв
>

Элемент <datalist> HTML содержит набор элементов <option>, представляющих допустимые или рекомендуемые варианты, доступные для выбора в других элементах управления.

Попробуйте

<label for="ice-cream-choice">Choose a flavor:</label>
<input list="ice-cream-flavors" id="ice-cream-choice" name="ice-cream-choice" />

<datalist id="ice-cream-flavors">
  <option value="Chocolate"></option>
  <option value="Coconut"></option>
  <option value="Mint"></option>
  <option value="Strawberry"></option>
  <option value="Vanilla"></option>
</datalist>
label {
  display: block;
  margin-bottom: 10px;
}

Чтобы связать элемент <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

Если атрибуты value указаны у элементов <option>, добавленных в список данных, связанный с элементом ввода типа 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" label="0%"></option>
  <option value="10" label="Minimum Tip"></option>
  <option value="20" label="Standard"></option>
  <option value="30" label="Generous"></option>
  <option value="50" label="Very Generous"></option>
</datalist>

Примечание: Атрибут label предназначен для добавления подписей к делениям, как указано в стандарте HTML. Однако поддержка в современных браузерах различается: подписи могут не отображаться визуально или в виде всплывающих подсказок.

Тип color

Тип 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>

Техническая сводка

Категории содержимого Потоковое содержимое, фразовое содержимое.
Допустимое содержимое Либо фразовое содержимое, либо ноль или более элементов <option>.
Опущение тегов Не допускается: открывающий и закрывающий теги обязательны.
Допустимые родители Любой элемент, принимающий фразовое содержимое.
Неявная роль ARIA listbox
Допустимые роли ARIA Роли role не допускаются
Интерфейс DOM HTMLDataListElement

Спецификации

Спецификация
HTML>
# the-datalist-element>

Совместимость с браузерами

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS
datalist 20 12 4 9.5 12.1 33
79Раскрывающееся меню с доступными вариантами не отображается. См. ошибку 1535985.
4–79
20 12.2 2.0 4.4.3 12.2
input_type_color 20 14 Нет 12 12.1 33 Нет 20 12.2 2.0 4.4.3 12.2
input_type_date 20 12 Нет 11 14.1 33 Нет 20 14.5 2.0 4.4.3 14.5
input_type_email 22 12 4 ≤12.1 12.1 33 4 20 12.2 2.0 4.4.3 12.2
input_type_number 22 12 4 ≤12.1 12.1 33 4 20 12.2 2.0 4.4.3 12.2
input_type_range 20 12 110 11 12.1 57 Нет 20 12.2 7.0 57 12.2
input_type_search 22 12 4 ≤12.1 12.1 33 4 20 12.2 2.0 4.4.3 12.2
input_type_tel 22 12 4 ≤12.1 12.1 33 4 20 12.2 2.0 4.4.3 12.2
input_type_text 20 12 4 9.5 12.1 33 4 20 12.2 2.0 4.4.3 12.2
input_type_time 20 12 Нет 10 14.1 33 Нет 20 12.2 2.0 4.4.3 12.2
input_type_url 22 12 4 ≤12.1 12.1 33 4 20 12.2 2.0 4.4.3 12.2

См. также

  • Элемент <input> и, в частности, его атрибут list;
  • Элемент <option>.

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/datalist

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API