HTML тэг <select> представляет собой элемент управления который содержит меню опций:
Элемент включает глобальные атрибуты.
autofocus HTML5
Этот атрибут указывает что при загрузке страницы данный элемент формы должен иметь фокус ввода, пока пользователь не переопределит это, к примеру печатая в разных элементах управления. Только один элемент формы может иметь атрибут autofocus, элемент является логическим (булевым).
disabled
Этот логический атрибут указывает что пользователь не может взаимодействовать с элементом управления. Если атрибут не указан, элемент управления наследует настройки от содержащего его элемента, к примеру fieldset; если у родительского элемента не указан атрибут disabled, то элемент управления доступен для взаимодействия.
form HTML5
Этот атрибут указывает к какой конкретно форме относится элемент <select> . Если атрибут указан, его значением должно быть ID формы в том же документе. Это позволяет размещать элементы <select> где угодно в документе, а не только как потомки форм.
multiple
Этот логический атрибут указывает что возможен выбор нескольких опций в списке. Если данный атрибут не указан, то только одна опция может быть выбрана.
name
Этот атрибут используется для указания имени элемента управления.
required HTML5
Этот логический атрибут указывает что обязательно должна быть выбрана опция и которая содержит не пустую строку.
size
Если элемент управления представлен как прокручиваемый список, этот атрибут указывает количество строк в списке, которые должны быть видны за раз. Браузеру не требуется представлять <select> в виде прокручиваемого списка. Значение по умолчанию 0.
Примечания Firefox: Согласно спецификации HTML5, значение размера по умолчанию должно быть 1; однако на практике, оказывается что это портит некоторые веб сайты, и ни один браузер не придерживается этого на данный момент, поэтому Mozilla предпочла также указать 0 пока что в Firefox.
Определяет значение пункта списка, которое будет отправлено на сервер. На
сервер отправляется пара «имя=значение», где имя задается атрибутом name тега <select>, а значение — атрибутом value выделенных пунктов списка. Значение может как совпадать с текстом пункта, так
быть и самостоятельным. Также атрибут value применяется
для получения значений данных через скрипты.
Синтаксис
<option value="значение">...</option>
Значения
Любая текстовая строка заключенная в двойные или одинарные кавычки.
Не выкладывайте свой код напрямую в комментариях, он отображается некорректно.
Воспользуйтесь сервисом cssdeck.com или jsfiddle.net,
сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.
Атрибут value тега | HTML справочник
HTML тег <option>
Значение и применение
Атрибут value (HTML тега <option>) указывает значение, которое будет отправлено на сервер при отправке формы.
Если значение атрибута не указано, то в качестве значения будет выступать содержимое элемента <option>.
Поддержка браузерами
Синтаксис:
<option value>
Отличия HTML 4.01 от HTML 5
Нет.
Пример использования
<!DOCTYPE html>
<html>
<head>
<title>Пример использования атрибута value HTML тега <option></title>
</head>
<body>
<form action = "#"> <!--Адрес передачи данных при отправке формы (относительный, либо абсолютный URL)-->
<select>
<option value = "A">Option A</option>
<option value = "B">Option B</option>
<option value = "C">Option C</option>
</select>
<input type = "submit" value = "отправить">
</form>
</body>
</html>
В браузере это выглядит следующим образом:
Пример использования атрибута value HTML тега <option> (значение, которое будет отправлено на сервер, когда форма отправляется).
Давайте рассмотрим пример в котором используются раскрывающийся список (<select>) и список предопределенных вариантов для ввода (<datalist>).
Элементом списков выступает тег <option>.
Если в списках используется атрибут label, то текст надписи, которая указывает значение параметра берется из него.
Если значение атрибута label не указано, то этим значением выступает содержимое элемента <option>, при этом необходимо использовать закрывающий элемент </option>.
Обращаю Ваше внимание, что если в списке предопределённых вариантов (<datalist>) используется атрибут value, то поиск осуществляется по нему, если атрибут отсутствует, то по содержимому элемента, при этом необходимо использовать закрывающий элемент </option>.
<!DOCTYPE html>
<html>
<head>
<title>Пример использования атрибута label HTML тега <option></title>
</head>
<body>
<form action = "#"> <!--Адрес передачи данных при отправке формы (относительный, либо абсолютный URL)-->
<fieldset> <!--Группируем элементы формы-->
<legend>Составление маршрута</legend> <!--Заголовок для элемента <fieldset> -->
Город отправления:
<select> <!--Раскрывающийся список-->
<option label = "Владивосток">
<option label = "Анапа">
<option label = "Москва">
<option label = "Смоленск">
<option label = "Якутск">
</select>
<p>Аэропорт назначения:
<input type = "text" list = "airports">
</p>
<datalist id = "airports"> <!--Список предопределенных вариантов для ввода-->
<option value = "VVO" label = "Владивосток">
<option value = "MEM" label = "Анапа">
<option value = "VKO" label = "Москва Внуково">
<option value = "LNX" label = "Смоленск">
<option value = "YKS" label = "Якутск">
</datalist>
<input type = "submit" value = "подтвердить">
</fieldset>
</form>
</body>
</html>
В браузере это выглядит следующим образом:
Пример использования атрибута label HTML тега <option> (текст надписи, которая указывает значение параметра). HTML тег <option>
Формы – React
В React HTML-элементы формы ведут себя несколько отлично от остальных DOM-элементов, так как у элементов формы изначально есть внутреннее состояние. К примеру, в эту HTML-форму можно ввести имя:
По умолчанию браузер переходит на другую страницу при отправке HTML-форм, в том числе и этой. Если вас это устраивает, то не надо ничего менять, в React формы работают как обычно. Однако, чаще всего форму удобнее обрабатывать с помощью JavaScript-функции, у которой есть доступ к введённым данным. Стандартный способ реализации такого поведения называется «управляемые компоненты».
Управляемые компоненты
В HTML элементы формы, такие как <input>, <textarea> и <select>, обычно сами управляют своим состоянием и обновляют его когда пользователь вводит данные. В React мутабельное состояние обычно содержится в свойстве компонентов state и обновляется только через вызов setState()
Мы можем скомбинировать оба подхода и сделать состояние React-компонента «единственным источником правды». Тогда React-компонент будет рендерить форму и контролировать её поведение в ответ на пользовательский ввод. Значение элемента формы input в этом случае будет контролировать React, а сам элемент будет называться «управляемый компонент».
Допустим, мы хотим, чтобы предыдущий пример выводил на экран имя, когда мы отправляем форму. Тогда можно написать форму в виде управляемого компонента:
Мы установили атрибут value для поля ввода, и теперь в нём всегда будет отображаться значение this.state.value. Состояние React-компонента стало «источником истины». А так как каждое нажатие клавиши вызывает handleChange, который обновляет состояние React-компонента, значение в поле будет обновляться по мере того, как пользователь печатает.
В управляемом компоненте значение поля ввода всегда определяется состоянием React. Хотя это означает, что вы должны написать немного больше кода, теперь вы сможете передать значение и другим UI-элементам или сбросить его с других обработчиков событий.
Тег textarea
HTML-элемент <textarea> в качестве текста отображает дочерний элемент:
<textarea>
Привет! Тут просто немного текста внутри тега textarea
</textarea>
В React <textarea> использует атрибут value. Таким образом, форму с <textarea> можно написать почти тем же способом, что и форму с однострочным <input>:
Пункт списка «Кокос» выбран по умолчанию из-за установленного атрибута selected. React вместо этого атрибута использует value в корневом теге select. В управляемом компоненте так удобнее, потому что обновлять значение нужно только в одном месте (state). Пример:
Подводя итог, <input type="text">, <textarea>, и <select> работают очень похоже. Все они принимают атрибут value, который можно использовать, чтобы реализовать управляемый компонент.
Примечание
В атрибут value можно передать массив, что позволит выбрать несколько опций в теге select:
<select multiple={true} value={['Б', 'В']}>
Загрузка файла
В HTML <input type="file"> позволяет пользователю выбрать один или несколько файлов для загрузки с устройства на сервер или управлять им через JavaScript с помощью File API.
Так как значение такого элемента доступно только для чтения, это неуправляемый React-компонент. Мы расскажем про этот и другие неуправляемые компоненты далее в документации.
Обработка нескольких элементов input
Если вам нужны несколько управляемых элементов input, вы можете назначить каждому из них атрибут name, что позволит функции-обработчику решать, что делать, основываясь на значении event. target.name.
Обратите внимание, что мы используем вычисляемые имена свойств, чтобы обновить значение в state через ключ, который соответствует атрибуту name элемента input:
this. setState({
[name]: value});
Идентичный ES5-код:
var partialState = {};
partialState[name] = value;this.setState(partialState);
Кроме того, setState() автоматически производит слияние части состояния с текущим состоянием, то есть нам нужно передать в него только ту часть state, которую хотим изменить.
Значение null управляемого компонента
Если установить управляемому компоненту проп value, то пользователь не сможет изменить его значение без вашего желания. Если вы установили value, а поле ввода по-прежнему можно редактировать, то, возможно, вы случайно задали value, равный undefined или null.
Код ниже это демонстрирует. (Изначально заблокированный input становится редактируемым после небольшой задержки.)
Использование управляемых компонентов иногда может быть утомительным. Приходится писать обработчик события для каждого варианта изменения ваших данных и проводить всё состояние формы через компонент React. Это может особенно раздражать, если вы переносите существующую кодовую базу в React, или когда работаете над интеграцией React-приложения с другой библиотекой. В такой ситуации могут пригодиться неуправляемые компоненты — альтернативная техника реализации ввода данных в форму.
Полноценные решения
Если вы ищете полноценное решение, которое может валидировать ввод, запомнить посещённые поля формы и обработать её отправку, присмотритесь к Formik. Эта библиотека построена на принципах управляемых компонентов и управления состоянием, так что не пренебрегайте их изучением.
HTML и CSS с примерами кода
Тег <option>(от англ. option — пункт, параметр, опция) определяет отдельные пункты списка, создаваемого с помощью контейнера <select>.
Ширина списка определяется самым широким текстом, указанным в <option>, а также может изменяться с помощью стилей. Если планируется отправлять данные списка на сервер, то требуется поместить элемент <select> внутрь формы. Это также необходимо, когда к данным списка идёт обращение через скрипты.
Заранее устанавливает определённый пункт списка выделенным.
value
Значение пункта списка, которое будет отправлено на сервер или прочитано с помощью скриптов.
Также для этого элемента доступны универсальные атрибуты.
disabled
Блокирует элемент списка для его выбора.
Синтаксис
<option disabled>...</option>
Значения
Нет.
Значение по умолчанию
По умолчанию этот атрибут выключен.
label
Атрибут предназначен для указания метки пункта списка, сокращённой по сравнению с текстом внутри <option>. Если атрибут label присутствует, то текст внутри <option> игнорируется и в списке выводится значение label.
Синтаксис
<option label="<текст>">...</option>
Значения
Любая текстовая строка.
Значение по умолчанию
Нет.
selected
Делает текущий пункт списка выделенным. Если к элементу <select> добавлен атрибут multiple, то можно выделять более одного пункта списка.
Синтаксис
<option selected>...</option>
Значения
Нет.
Значение по умолчанию
По умолчанию этот атрибут выключен.
value
Определяет значение пункта списка, которое будет отправлено на сервер. На сервер отправляется пара «имя=значение», где имя задаётся атрибутом name элемента <select>, а значение — атрибутом value выделенных пунктов списка. Значение может как совпадать с текстом пункта, так быть и самостоятельным. Также атрибут value применяется для получения значений данных через скрипты.
HTML тег <select> используется для определения выпадающего списка, который появляется при нажатии мышью на элемент формы и позволяет пользователю выбрать один из вариантов.
Для определения доступных вариантов выбора используется тег <option>, вложенный в тег <select>.
По умолчанию первый пункт в списке отображается как выбранный. Для изменения предопределенного варианта используется атрибут selected.
Для объединения нескольких вариантов в одну группу используется тег <optgroup>. Содержимое тега <optgroup> выглядит как заголовок жирного начертания.
Внешний вид списка зависит от использования атрибута size, который устанавливает высоту списка. Ширина списка зависит от длины текста в теге <option>. Ширину можно также задать с помощью CSS стилей.
Если необходимо отправлять данные на сервер, либо обращаться к списку через скрипты, то тег необходимо поместить внутрь формы (тег <form>).
Синтаксис¶
Содержимое элемента заключается между открывающим (<select>) и закрывающим (</select>) тегами. Закрывающий тег обязателен
В этом примере документа HTML5 мы использовали тег для создания списка из трех раскрывающихся значений — HTML, CSS и SQL. Эти значения появятся в виде раскрывающегося списка для выбора пользователем.
HTML 4.01 Переходный документ
Если вы создали новую веб-страницу в HTML 4.01 Transitional, ваш тег может выглядеть так:
HTML 4.01 Transitional Example by www.techonthenet.com
<выбор>
В этом HTML 4. 01 Пример переходного документа, мы использовали тег для создания списка из трех раскрывающихся значений — HTML, CSS и SQL. Эти значения появятся в виде раскрывающегося списка для выбора пользователем.
Переходный документ XHTML 1.0
Если вы создали новую веб-страницу в XHTML 1.0 Transitional, ваш тег может выглядеть так:
Переходный пример XHMTL 1.0 от www.techonthenet.com
<выбор>
В этом XHTML 1.0 Пример переходного документа, мы использовали тег для создания списка из трех раскрывающихся значений — HTML, CSS и SQL. Эти значения появятся в виде раскрывающегося списка для выбора пользователем.
Строгий документ XHTML 1.0
Если вы создали новую веб-страницу в XHTML 1.0 Strict, ваш тег может выглядеть так:
Строгий пример XHTML 1.0 от www.techonthenet.com
<выбор>
В этом XHTML 1.0 Пример строгого документа, мы использовали тег для создания списка из трех раскрывающихся значений — HTML, CSS и SQL. Эти значения появятся в виде раскрывающегося списка для выбора пользователем.
XHTML 1.1 Документ
Если вы создали новую веб-страницу в XHTML 1.1, ваш тег может выглядеть так:
XHTML 1.1 Пример с сайта www.techonthenet.com
<выбор>
В этом примере документа XHTML 1.1 мы использовали тег для создания списка из трех раскрывающихся значений — HTML, CSS и SQL.Эти значения появятся в виде раскрывающегося списка для выбора пользователем.
ion-select: Ionic Framework API Docs
Selects — это элементы управления формы, позволяющие выбрать параметр или параметры из набора параметров, аналогичные исходным элемент. Когда пользователь нажимает кнопку выбора, появляется диалоговое окно со всеми параметрами в большом, легко выбираемом списке.
Выбор следует использовать с дочерними элементами . Если дочерний вариант не задан значение атрибута, тогда его текст будет использоваться в качестве значения.
Если значение установлено на , выбранный вариант будет выбран на основе этого значения.
По умолчанию select использует ion-alert, чтобы открыть наложение параметров в предупреждении. Интерфейс можно изменить на использование
лист ионного действия или
ion-popover мимо action-sheet или всплывающее окно , соответственно, для свойства интерфейса . Прочтите другие разделы, чтобы узнать об ограничениях различных интерфейсов.
По умолчанию выбор позволяет пользователю выбрать только один вариант. Интерфейс предупреждений предоставляет пользователям список опций в стиле переключателя. Интерфейс листа действий можно использовать только с выбором одного значения. Значение компонента выбора получает значение значения выбранной опции.
Добавив атрибут multiple для выбора, пользователи могут выбрать несколько вариантов. Когда можно выбрать несколько параметров, наложение предупреждений представляет пользователям список параметров в стиле флажка.Значение компонента выбора получает массив всех выбранных значений параметров.
Примечание: лист действий и popover интерфейсы не будут работать с множественным выбором.
При использовании объектов для выбранных значений идентичность этих объектов может измениться, если они поступают с сервера или базы данных, в то время как идентичность выбранного значения останется прежней. Например, это может произойти, когда существующая запись с желаемым значением объекта загружается в select, но недавно полученные параметры select теперь имеют разные идентификаторы.Это приведет к тому, что выбранный элемент будет казаться не имеющим никакого значения, даже если исходный выбор останется нетронутым.
По умолчанию при выборе используется равенство объектов ( === ), чтобы определить, выбран ли параметр. Это можно изменить, указав имя свойства или функцию для сравнитьС собственностью.
Предупреждение поддерживает две кнопки: Отмена и OK . Текст каждой кнопки можно настроить с помощью cancelText и okText свойства.
Акция-лист и popover интерфейсы не имеют OK , нажатие на любую из опций автоматически закроет оверлей и выберет это значение. В
Всплывающее окно Интерфейс не имеет кнопки Отмена , нажатие на фон закроет оверлей.
Поскольку select использует интерфейсы предупреждений, действий и всплывающих окон, параметры могут быть переданы этим компонентам через interfaceOptions свойство.Это можно использовать для передачи настраиваемого заголовка, подзаголовка, класса css и т. Д.
См. Документацию ion-alert,
документация ion-action-sheet и
ion-popover docs для свойств, которые принимает каждый интерфейс.
Примечание: interfaceOptions не отменяет вводит или кнопки с интерфейсом предупреждений .
Компонент Select состоит из двух единиц, и каждый из них требует отдельного стиля. В ion-select Элемент представлен в представлении выбранным значением (ями) или заполнителем, если его нет, и значком раскрывающегося списка.Интерфейс, определенный в
Раздел интерфейсов выше - это диалоговое окно, которое открывается при нажатии на ion-select . Интерфейс содержит все параметры, определенные путем добавления ion-select-option элементов. В следующих разделах будут рассмотрены различия между их стилями.
Выбор стиля для элемента
Как уже упоминалось, элемент ion-select состоит только из значения (значений) или заполнителя и значка, отображаемого в представлении.Чтобы настроить это, создайте стиль, используя комбинацию CSS и любой из
Пользовательские свойства CSS:
В качестве альтернативы, в зависимости от необходимой поддержки браузером, можно использовать теневые части CSS для стилизации выбора:
ion-select {
ширина: 100%;
justify-content: center;
}
ion-select :: part (заполнитель),
ion-select :: part (текст) {
flex: 0 0 авто;
}
ion-select :: part (заполнитель) {
цвет: # 20a08a;
непрозрачность: 1;
}
ion-select :: part (заполнитель) :: first-letter {
размер шрифта: 24 пикселя;
font-weight: 500;
}
ion-select :: part (текст) {
цвет: # 545ca7;
}
ion-select :: part (icon) {
цвет: # 971e49;
непрозрачность: 1;
}
Обратите внимание, что с помощью :: part можно выбрать любое свойство CSS элемента.
Интерфейс выбора стиля
Настройку диалогового окна интерфейса необходимо выполнить, следуя разделу «Настройка» в документации по этому интерфейсу:
Однако параметр «Выбрать» устанавливает класс для упрощения стилизации и позволяет передать класс в параметр наложения, см.
Выберите Документация по параметрам, чтобы просмотреть примеры использования параметров настройки.
Список штатов США HTML фрагмент выбора
На этой странице есть фрагменты кода выбора / раскрывающегося списка HTML для создания списка штатов США.В списке используются значения аббревиатуры штата USPS.
Список отдаленных территорий и записей USPS вооруженных сил также доступен. Просто добавьте их в выпадающий список, если хотите их использовать.
Государственный список (+ район) - Полное наименование
<выбор>
Внешние территории США - Полное название
Вооруженные силы - Полное наименование
Государственный список (+ район) - код ISO
<выбор>
Внешние территории США - код ISO
Вооруженные силы - код ISO
Государственный список (+ район) - название + код ISO
<выбор>
Внешние территории США - название + код ISO
Вооруженные силы - название + код ISO
dcc.Выпадающий список | Документация по Dash для Python
id ( строка ; необязательно): Идентификатор этого компонента, используемый для идентификации компонентов тире в обратных вызовах . Идентификатор должен быть уникальным для всех компонентов в приложении.
очищаемый ( логическое значение ; по умолчанию True ): Независимо от того, является ли раскрывающийся список «очищаемым», то есть отображается ли маленький значок «x» справа от раскрывающегося списка, который удаляет выбранное значение.
отключено ( boolean ; по умолчанию False ): Если True, этот раскрывающийся список отключен и выбор не может быть изменен .
loading_state ( dict ; необязательно): Объект, содержащий объект состояния загрузки, поступающий из модуля рендеринга dash.
loading_state - это диктатор с ключами:
имя_компонента ( строка ; необязательно): Содержит имя загружаемого компонента.
is_loading ( boolean ; необязательно): Определяет, загружается компонент или нет.
multi ( boolean ; по умолчанию False ): Если True, пользователь может выбрать несколько значений.
optionHeight ( number ; по умолчанию 35 ): высота каждой опции.Может быть увеличена, если длина этикетки составит оберток.
параметры ( список словарных статей ; необязательно): Массив параметров {метка: [строка | число], значение: [строка | число]}, необязательное отключенное поле может использоваться для каждого вариант.
опции - это список диктовок с ключами:
отключено ( boolean ; необязательно): Если True, этот параметр отключен и не может быть выбран.
метка ( строка | номер ; обязательно): Метка раскрывающегося списка.
заголовок ( строка ; необязательно): HTML-атрибут «заголовок» для опции. Позволяет получить информации при наведении курсора. Для получения дополнительной информации об этом атрибуте см. https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/title.
значение ( строка | число ; обязательно): Значение раскрывающегося списка.Это значение соответствует элементам , указанным в свойстве value .
persisted_props (список значений, равных: ‘value’s ; по умолчанию \ ['value' \] ): Свойства, действия пользователя с которыми сохранятся после обновления компонента или страницы. Поскольку разрешено только значение , эту опору обычно можно игнорировать.
постоянство ( boolean | string | number ; необязательно): Используется для сохранения взаимодействия пользователя в этом компоненте при обновлении компонента или страницы.Если сохраняется, истинно и не изменилось по сравнению с предыдущим значением, значение , которое пользователь изменил во время использования приложения, сохранит это изменение, поскольку , пока новое значение также соответствует заданному изначально. Используется вместе с persistence_type .
persistence_type ( значение, равное: 'local', 'session', 'memory' ; по умолчанию 'local' ): Где будут сохраняться постоянные изменения пользователя: memory: хранится только в памяти , сбросить при обновлении страницы.local: window.localStorage, данные сохраняются после закрытия браузера. session: window.sessionStorage, данные очищаются после закрытия браузера.
заполнитель ( строка ; необязательно): Серый текст по умолчанию, отображаемый, если не выбран ни один параметр.
search_value ( строка ; необязательно): Значение, введенное в DropDown для поиска.
с возможностью поиска ( boolean ; по умолчанию True ): Включать ли функцию поиска или нет.
style ( dict ; необязательно): Определяет стили CSS, которые заменяют ранее установленные стили.
значение ( строка | число | список строк | чисел ; необязательно): Значение ввода. Если multi имеет значение False (по умолчанию), то значение - это просто строка, соответствующая значениям, указанным в свойстве options . Если multi имеет значение True, тогда можно выбрать сразу несколько значений , а значение представляет собой массив элементов со значениями , соответствующими значениям в опциях options prop.
новый код - HTML-формы: раскрывающиеся меню
Выпадающие меню используются в формах для захвата ответов, для которых есть один правильный ответ из нескольких возможных ответов. Хороший пример этого - запрос на провинцию, штат или страну посетителя.
Рассмотрение альтернатив
При создании формы важно учитывать все возможности. Мы могли бы просто представить текстовое поле, в котором пользователь мог бы ввести название провинции, но это допускает возможность того, что он может сделать опечатку (которая становится проблемой, если эта информация вводится непосредственно в базу данных без контроля человека).Мы могли бы уменьшить размер текстового поля до двух символов и предложить пользователю просто ввести аббревиатуру провинции или штата: хотя это снижает вероятность ошибки, она не удаляет ее.
Одно из лучших решений для вопроса в форме, для которой есть только один правильный ответ из большого количества возможностей, - это раскрывающееся меню.
Раскрывающаяся разметка
В форме HTML это создается с помощью тега .
Как всегда, мы помещаем наш на первое место, с для атрибута и соответствующим ключом доступа . Как и тег , должен иметь атрибут id и name . Затем каждый элемент в раскрывающемся меню ограничивается тегами .
<вариант> Альберта
Сама форма не знает текста между открывающим и закрывающим тегами option .Хотя первый вариант может быть выбран нашим пользователем, фактические данные не будут отправлены в сценарий formhandler.php , который интерпретирует данные в форме. Мы, вероятно, ни в коем случае не хотим использовать слово «Альберта»; «AB» было бы предпочтительнее для добавления в список рассылки или базу данных. Для этого мы должны добавить значение атрибутов к каждой из этих опций:
(обратите внимание, что атрибут value также может использоваться для предварительной установки текста для текстового поля ).
Наконец, первая опция в нашем выпадающем меню будет автоматически выбрана по умолчанию. Это не всегда хорошо. Во-первых, помните о наших предположениях о нашем пользователе. Если мы что-то выбрали заранее, вполне вероятно, что он пропустит это, чтобы сэкономить время, или просто пропустит. Лучше предложить пользователю сделать выбор и сделать эту подсказку выбранной по умолчанию, если только вы не можете быть абсолютно уверены, что подавляющее большинство респондентов вашей формы будут соответствовать заранее выбранным критериям.
Вы найдете учебники и интерактивную справку, в которых содержится код, позволяющий выбрать несколько вариантов в раскрывающемся списке или который превращает раскрывающийся список выбора в интерфейс с прокруткой. Вообще говоря, такая практика категорически не рекомендуется. Люди сбиваются с толку, когда их представляют, что приводит к ошибкам при вводе данных.
Элемент optgroup должен использоваться для обозначения групп связанных опций в раскрывающемся списке; сама optgroup не может быть выбрана. Довольно сбивает с толку то, что optgroup имеет обязательный атрибут label , который используется для указания ссылки на группу.
Например, чтобы показать штаты в США и провинции / территории Канады в том же раскрывающемся списке , мы могли бы сделать следующее.
В браузере результат будет выглядеть примерно так:
Штат / провинция / территория — выберите один — Алабама, Калифорния… оставшиеся штаты США… Альберта, Британская Колумбия… оставшиеся провинции и территории…
Для выберите меню, такое длинное и сложное, обычно рекомендуется использовать JavaScript для динамического изменения содержимое выберите на основе выбора пользователя ранее в форме.Например, если пользователь выберет свою страну сначала , это должно уменьшить количество видимых опций в раскрывающемся списке «штат», чтобы отобразить только соответствующие территории в их конкретной стране.