Наличие атрибута multiple сообщает браузеру
отображать содержимое элемента <select> как список множественного
выбора. Конечный вид списка зависит от используемого атрибута size и браузера.
При size=»1″ Firefox устанавливает высоту списка равной одному пункту, Safari и Chrome игнорируют size, Opera превращает список в «крутилку».
Для выбора нескольких значений списка применяются клавиши Ctrl и Shift совместно с курсором мыши.
Не выкладывайте свой код напрямую в комментариях, он отображается некорректно.
Воспользуйтесь сервисом cssdeck.com или jsfiddle.net,
сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.
Как заполнить список выбора с помощью структуры внутри select HTML helper в ColdBox?
Я хочу сгенерировать список выбора, который должен выглядеть следующим образом-
Это генерирует желаемый результат, но, как вы можете видеть, я должен создать новый объект запроса только для этого. Я прочитал документацию помощника select HTML и обнаружил, что мы также можем предоставить массив объектов для его заполнения. Существует ли какой-либо другой вариант заполнения списка выбора, например, путем предоставления структуры с парой имен и значений.
coldfusion
coldbox
coldfusion-11
Поделиться Источник Pankaj06 января 2015 в 11:54
2 ответа
Заполнить список выбора с помощью javascript
Я пытаюсь заполнить список выбора HTML с помощью JavaScript. Я считаю, что делаю это правильно, но я не в состоянии заполнить список. Список по-прежнему пуст. Что я здесь упускаю? HTML: <%@ Page Language=C# Inherits=System.Web.Mvc.ViewPage<dynamic> %> <!DOCTYPE html PUBLIC…
Как создать список выбора с javascript и заполнить его php sql?
У меня есть форма, созданная с javascript https://jsfiddle.net/wdLtv01x/1/ мне нужно заполнить мой список выбора интервьюера с PHP и MySQL <div class=col-md-9> <div class=form-group> <label class=form-label for=interviewerName>Interviewer par :</label> <select…
3
Дэн был прав, вы можете просто передать массив структур. Во-первых, я отмечу, что если вы согласны с тем, что имя и значение являются одной и той же строкой, то самая простая форма-это просто использовать список, разделенный запятыми:
#html.select(
options="Yes,No"
)#
Вот как выглядит массив структур с использованием объектного литерала.
В документации для HTMLHelper отсутствует запись для
html.select() , но если вы перейдете непосредственно к исходному коду, вы увидите, что эта функция может принимать объект запроса, список или массив объектов в качестве значения для аргумента options .
<cfargument
name="options"
type="any"
required="false"
default=""
hint="The value for the options, usually by calling our options() method"/>
Функция options() также отсутствует в документации, но исходный код прокомментирован довольно хорошо.
Итак, вот ваш код, использующий объект запроса для опций (я изменил nameColumn на column , чтобы получить вывод, который вы ввели выше):
Теперь с массивом объектов для данных, используя html.options() для обработки рендеринга опции. Я удалил атрибут nameColumn , так как по умолчанию он равен ключу value .
Как заполнить список выбора HTML с помощью javascript
Я довольно новичок в HTML и javascript. Я знаю, что этот код уже существует в интернете, но я не могу заставить его работать на меня. Я застрял на этом вопросе на 2-3 дней. Я был бы очень рад, если…
Заполнение Codeigniter (form-helper) — выпадающий список с использованием javascript
я поместил цикл в сценарий java и внутри цикла я создаю выпадающий список повторно , вызывая div, в котором присутствует мой выпадающий список codeigniter form helper, что-то вроде этого for(){ var…
Coldbox и cfschedule
Как добавить задачу cfschedule в приложение с помощью фреймворка Coldbox? Должен Ли Я: а.) напишите событие, которое выполняет какую-то задачу, и укажите cfschedule на этот URL с помощью Coldbox? б)…
Заполнить список выбора с помощью javascript
Я пытаюсь заполнить список выбора HTML с помощью JavaScript. Я считаю, что делаю это правильно, но я не в состоянии заполнить список. Список по-прежнему пуст. Что я здесь упускаю? HTML: <%@ Page…
Как создать список выбора с javascript и заполнить его php sql?
У меня есть форма, созданная с javascript https://jsfiddle.net/wdLtv01x/1/ мне нужно заполнить мой список выбора интервьюера с PHP и MySQL <div class=col-md-9> <div class=form-group>…
Заполнить HTML Select с помощью PHP
Моя цель-заполнить поле выбора html из mysql с помощью функции php. Я начал с того, что поместил код непосредственно на страницу html, и он заработал. <label for=product_Category>Product…
Liferay: динамическое заполнение поля структуры ‘select’
Я создаю тему liferay, которая имеет две колонки рядом. В правой колонке будет отображаться веб-содержимое. Моя реализация направлена на создание меню (левый столбец), которое получает заголовки из…
Как заполнить список выбора jquery?
Я новичок в HTML, javaScript или jQuery, я в основном Oracle DBA и разработчик. Мне нужно знать, как заполнить список выбора jquery. Я создал строку из запроса базы данных, которая выглядит так, как…
Заполнить Select Запросом Базы Данных
Мне нужен способ заполнить выпадающий список (я полагаю, что он называется Select) запросом SQL Server. Я хочу заполнить список результатами Select storeName from storeinfo , которые вернут примерно…
Как заполнить выпадающие списки select на html с помощью данных базы данных
Я полный новичок с вещами PHP/html, так что, пожалуйста, потерпите меня. Я пытался заполнить поле выбора, используя данные из базы данных myslq, и я не могу заставить его работать, все, что у меня…
Поле количества товара в виде выпадающего списка WooCommerce
Непосредственно на странице товара, прямо перед кнопкой добавления в корзину, а также и в самой корзине есть поле с выбором количества товара. По умолчанию это обычный input, но в этом уроке мы попробуем превратить его в выпадающий список <select>.
Также хочу порекомендовать вам свой видеокурс по WooCommerce, в нём мы создаём тему для интернет-магазина с нуля, на основе готовой HTML вёрстки, вот ссылка.
Прежде, чем приступим к коду, вот скриншоты того, что у нас получится. Поле заменится не только на странице товара, но и в корзине.
Поле выбора количества товара перед добавлением товара в корзину на странице самого товара. Как видите, оно превратилось в выпадающий список.Поле количества товара в корзине тоже превратилось в выпадающий список.
Для того, чтобы это сделать, нам не понадобится ни менять шаблоны WooCommerce ни использовать фильтр-хуки.
Функция woocommerce_quantity_input(), которая и выводит везде поле количества товара – переопределяемая (pluggable), это значит, что если вы создадите функцию с точно таким же названием в functions.php вашей теме или в плагине, то будет использоваться ваша функция.
Если вы взглянете в оригинальную функцию, то заметите, что внутри неё также были и хук woocommerce_quantity_input_step – я его убрал, но если вы хотите разрешить плагинам впоследствии редактировать вашу функцию через хуки, можете их вернуть.
Хук woocommerce_quantity_input_args, напротив, трогать нельзя, т.к. на него законнекчено максимальное количество товара в зависимости от наличия на складе.
Также внутри функции у нас доступен объект товара $product, и на его основе мы можем как-то по-своему настроить поле с количеством.
Миша
Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.
Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.
Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.
html input radio
В этом уроке HTML мы рассмотрим некоторые базовые компоненты для создания пользовательских интерфейсов, в частности, мы увидим те элементы, которые позволяют пользователям выбирать между предустановленными значениями.
HTML-флажок
С помощью флажков мы можем позволить пользователю сделать несколько вариантов. Например:
radio button ( «радио — кнопка» ) эта кнопка чтобы позволить вам сделать эксклюзивный выбор. Следовательно, в этом случае один выбор исключает другой. Чтобы получить этот эффект, поля должны иметь одинаковое имя и другое значение:
Благодаря тегу <select> вы можете создавать меню опций. В этом случае каждая запись должна быть включена в тег <option> (закрытие тега необязательно), а значение должно быть указано с помощью атрибута «value» . С атрибутом «selected» вы можете указать выбор по умолчанию:
Наконец, с помощью тега выбора также можно установить несколько вариантов. Как вы можете видеть, при использовании атрибута «multiple» внешний вид тега select значительно меняется:
Используя клавишу CTRL, пользователь может сделать несколько вариантов.
Используя атрибут «size», вы можете указать количество элементов, которые должны отображаться в меню, и, следовательно, отрегулировать высоту меню, добавив или удалив вертикальную полосу прокрутки.
Все что нужно знать о раскрывающихся списках (dropdown)
Раскрывающиеся списки (выпадающие списки / меню) получили большую популярность в мире интерфейсов – и, если честно, не без причины. Если они сделаны плохо, они становятся громоздкими, ошеломляющими и безобразными. Но в этой статье мы поговорим о том, что делать, когда вы вынуждены их использовать.
Я также хочу уточнить, что есть два основных типа раскрывающихся списков: те, которые используются для навигации, и те, которые используются в формах. В этой статье мы рассмотрим только второй тип, используемый в формах.
1. Анатомия
Анатомия раскрывающегося списка очень похожа на анатомию поля ввода текста. Чтобы сравнить их, прочтите предыдущую статью.
Анатомия раскрывающегося списка формы
2. Типы и варианты раскрывающихся списков
Хотя стандартные выпадающие списки широко известны, есть несколько различных типов и вариантов, которые вам, возможно, придется рассмотреть для вашего следующего проекта. Обратите внимание, что в эти примеры я включил только раскрывающиеся списки, используемые в формах, а не те, которые используются в навигации.
Стандартный раскрывающийся список
Стандартный раскрывающийся список – это то, о чем мы думаем, когда слышим словосочетание «раскрывающийся список» или «выпадающий список». В активном состоянии он должен быть внешне похож на поле ввода текста, пока вы не нажмете на него и не откроете меню.
Стандартный раскрывающийся список
Раскрывающийся список с автодополнением (autosuggest)
Я их люблю. Впервые я узнал об автодополнении в поле поиска Google, однако, я понятия не имею, где оно было впервые реализовано. (Пишите в комментариях, если знаете). Это особенно полезно, когда у вас есть длинные списки, а пользователь уже знает ответ (например, страну проживания).
Раскрывающийся список с автодополнением
Раскрывающийся список с автодополнением и автозаполнением (autocomplete)
Автодополнение не следует путать с автозаполнением (autocomplete). Автодополнение– это, когда в поле ввода отображаются варианты, из которых пользователь может выбирать. Автозаполнение – это, когда форма предлагает способ завершения слова или фразы.
Раскрывающийся список с автодополнением и автозаполнением
Иногда поля с автозаполнением замаскированы под поле ввода текста, пока вы не начнете печатать.
Раскрывающийся список со множественным выбором
Хотя большинство раскрывающихся списков являются расширением переключателей (вы можете выбрать только один элемент), этот раскрывающийся список является расширением флажков: пользователь может выбрать несколько элементов в одном поле ввода.
Раскрывающийся список со множественным выбором
Если возможно, постарайся избегать этого типа списков. Мне пришлось использовать его из-за безумно длинного перечня категорий, и я все еще просыпаюсь ночью в холодном поту из-за этого решения. В идеале, хотелось бы использовать автодополнение с автозаполнением.
Раскрывающийся список с группами
Хотя длинные выпадающие списки не идеальны, вы можете сгруппировать некоторые элементы по разным категориям, чтобы упростить поиск нужного варианта.
Раскрывающийся список с группами
Меню с множественным выбором
Хотя технически это не раскрывающийся список, меню с множественным выбором является альтернативой. В отличие от раскрывающегося списка, оно открыто с самого начала и представляет собой небольшое окно прокрутки.
Фиксированное прокручиваемое меню
Хотя они хороши для настольных компьютеров, они ужасны для мобильных устройств, поскольку являются «прокруткой внутри прокрутки».
Лично я использовал этот паттерн всего раз (должен сказать, что меня заставили), и я редко встречаю его. Если у вас есть дополнительная информация о нем, пожалуйста, пишите в комментариях 🙂
Выборщик дат (Date picker)
Выборщик даты следует использовать только для планирования собраний, событий и т. д. Наличие календаря с указанием дней недели прекрасно помогает вам решить, когда организовать бранч, но невероятно раздражает, если вы хотите ввести дату окончания срока действия паспорта. Мне нравятся формы, в которых вы можете печатать, а также выбирать дату из выпадающего списка – просто убедитесь, что ввод достаточно умный, чтобы добавить «/» между месяцами, днями и годами, в противном случае это немного запутывает.
Выборщик дат
Рекомендации Тесс, как заставить людей ненавидеть тебя:
Когда вы просите людей указать день, когда истекает срок действия карты или паспорта, используйте выпадающее меню календаря. Ведь им важно точно знать, в какой день недели истекает срок действия их карты.
При запросе пользователей ввести дату рождения, используйте выпадающий календарь. Бонус: убедитесь, что нажатие на каждый месяц –единственный способ, которым пользователи могут перемещаться по годам. Еще бонус: этот паттерн дизайна особенно полезен в онлайн-формах для домов престарелых.
Выборщики дат и диапазоны дат – это сложные звери, поэтому я не стал вдаваться в подробности, но, возможно, однажды я напишу про них отдельную статью. Возможно.
3. Стили раскрывающихся списков
В отличие от типов раскрывающихся списков, «стили раскрывающихся списков» относятся к тому, как на самом деле выглядит выпадающий список, а не как он работает. Ниже я перечислил ряд распространенных стилей.
Стандартный стиль с прикрепленным списком (attached)
Я называю этот стиль «стандартным», потому что именно его мы привыкли видеть.
Стандартный стиль (attached)
Стандартный стиль с отдельным списком (detached)
Я встречаю стиль с отдельным меню все чаще и чаще. Это имеет смысл, поскольку позволяет меню находиться над или под полем в зависимости от области просмотра браузера.
Стандартный стиль (detached)
Закругленные границы
Закругленные границы прекрасно подходят интерфейсам, имеющим игривый внешний вид.
Закругленные границы
С иконками
Добавление простой иконки в начало поля ввода может сделать его более «спроектированным». Когда кто-то жалуется, что форма выглядит слишком скучно («Стив, это форма с 20 полями ввода – как думаешь, на что она будет похожа?»), я просто добавляю иконки.
Раскрывающийся список с иконками
Совет ленивого дизайнера: Если кто-то жалуется на скучную форму, просто добавьте иконки. Это проверенный и верный метод, который практически не требует усилий, и ваш клиент будет доволен.
С изображениями
Как правило, я избегаю добавлять изображения к элементам в раскрывающемся списке – просто потому, что обновлять его крайне трудно, особенно, если список сильно меняется. Однако это очень полезно, когда вы хотите показать разницу между вещами (собаками, пирожными, офисной мебелью и т. д.).
Раскрывающийся список с изображениями. Фото с Unspalsh.Фото: Strawberry cake — @alinasagirova , Cheese cake — @patuphotos, Chocolate cake — @tuvaloland
Однако, я придерживаюсь мнения, что из-за ограниченного размера раскрывающегося списка очень трудно увидеть, что представляют собой изображения (см. скриншот выше). Поэтому обычно это не стоит усилий, если вы не сделаете изображения действительно большими.
Раскрывающийся список Material Design с заливкой
Мои постоянные читатели знают, что я большой поклонник Material Design, включая их выпадающие списки.
Поле «только линия» больше не используется в руководстве Material Design, но вы все равно встретите его в Интернете. Если вы хотите узнать больше, я написал об этом в предыдущей статье, а Dave Chui ответил здесь.
Раскрывающийся список Material Design с линией
Поле «только линия» было заменено на «раскрывающийся список с заливкой», и, судя по пользовательским тестам оно работает лучше. Это намного удобнее для пользователя – и в это главное.
Раскрывающийся список Material Design с заливкой
Раскрывающийся список Material Design с рамкой
Как и их текстовые поля с рамкой, раскрывающиеся списки с рамкой Material Design крутые. Их меню отделено от раскрывающегося контейнера, что может помочь решить некоторые проблемы юзабилити.
Я уверен, что все видели симпатичную маленькую анимацию, когда в фокусе метка становится меньше в верхней части поля ввода. Я также хотел отметить один момент, который часто упускаю из виду. Если вы посмотрите на фактический раскрывающийся список, вы заметите, что первый элемент пуст. Это сделано для того, чтобы пользователь мог «сбросить» раскрывающийся список, если захочет вернуться к этому вопросу позже или оставить его пустым.
Раскрывающийся список Material Design с рамкой
4. Состояния раскрывающихся списков
Когда пользователь взаимодействует с полем ввода любого типа, оно должно переключать состояния или менять внешний вид, чтобы дать пользователю обратную связь. Здесь мы рассмотрим различные состояния раскрывающихся списков.
Активное состояние
Активное состояние – это то, как будет выглядеть раскрывающийся список до того, как пользователь с ним взаимодействует.
Активное состояние
Отключенное состояние
Если вы отключите поле ввода, пользователи не смогут взаимодействовать с ним, но смогут его увидеть. Вы можете использовать его, если этого требуют ваши бизнес-правила, но, вероятно, это будет не очень часто.
Отключенное состояние
Наведение курсора
Если пользователь наводит курсор на раскрывающийся список, он должен показать, что он кликабелен.
Состояние наведения курсора
Совет нуба: Вы не можете наводить курсор на сенсорных устройствах, поэтому, если проектируете приложения для мобильных устройств или планшетов, не создавайте для них подобные состояния.
Состояние выделения
Состояние выделения – это когда пользователь использует tabbing map (т.е. использует «tab» для навигации по интерфейсу и «enter» для ввода информации) и выделяет раскрывающийся список перед его выбором. Обычно мы видим это как «синий ореол» на интерактивных элементах.
Однако некоторые сайты сочетают в себе состояние выделения и фокуса, поэтому, даже, если пользователь не нажимает клавишу «Enter», раскрывающийся список сразу же открывается. Я не знаю, какая система лучше. Логично, что объединение двух состояний имеет смысл. Однако меня запутывает, когда раскрывающиеся списки открываются, а я не говорил им это делать. Кто-нибудь имел подобный опыт? Пишите в комментариях.
Альтернативные состояния выделения
Состояние фокуса
Состояние фокуса – это когда элемент является интерактивным. Как только вы нажмете на выпадающий список, откроется меню и отобразятся его варианты.
Несмотря на то, что многие раскрывающиеся списки, с которыми я взаимодействовал, оставляют стрелку неизменной в активном и фокусном состояниях, я предпочитаю менять направление стрелки. А еще вы можете анимировать изменение направления стрелки.
Состояние фокуса
Когда пользователь наводит курсор на пункты в меню, он должен отображать, какой вариант находится под ним.
Состояние фокуса при наведении курсора
Завершенный ввод
Как только пользователь выбрал вариант, окно ввода должно быть привязано или анимировано обратно в активное состояние, с той разницей, что в нем будет отображаться выбранный элемент.
Завершенный ввод
Ошибка обратной связи
При свободном вводе текста пользователь может сделать опечатку. Однако, поскольку варианты ответа в раскрывающемся списке предопределены, должен быть только один тип обратной связи при ошибке – «Пожалуйста, заполните поле», если пользователь нажмет кнопку «Отправить» до того, как закончит заполнение формы.
Ошибка обратной связи
5. Что должен сказать плейсхолдер
Как правило, я бы оставил плейсхолдер / текст подсказки аналогичным остальным полям. Все еще не уверены? Вот несколько вариантов:
Пустой плейсхолдер
Оставьте плейсхолдер пустым, если в других текстовых полях нет плейсхолдеров.
Раскрывающийся список с пустым плейсхоледром
Общие подсказки в плейсхолдере
«- Select -», «Choose» и т.д. – это классические подсказки для раскрывающихся списков.
Раскрывающийся список с общими подсказками
Побуждающая фраза в плейсхолдере
Использование универсальных «Select» / «Choose», а затем того, что вы хотите, чтобы пользователи выбрали, является классным способом сохранить согласованность в раскрывающихся списках, а также дать вашим пользователям подсказку относительно того, что делать.
Раскрывающийся список с побуждающей фразой
Выбранный вариант в качестве плейсхолдера
Хотя у вас есть возможность отобразить предварительно выбранный элемент в раскрывающемся списке, вы должны быть осторожны, чтобы убедиться, что пользователь его заметил и прочитал – в противном случае он может дать согласие на то, чего не хочет. #КассическийПриемТемныхПаттернов
Раскрывающийся список с выбранным вариантом в качестве плейсхолдера
Так какой вариант выбрать? Если вы сомневаетесь, сохраняйте последовательность. Если все текстовые поля имеют плейсхолдеры, используйте их.
6. Когда не использовать выпадающий список (а когда нужно)
Этот раздел посвящен всем сайтам, которые заставляют меня вводить год рождения, используя выпадающий список: f *** you. Не нужно напоминать мне о быстро растущем возрасте, пролистывая длинный список месяцев, пока я в конце концов не найду год своего рождения.
Если у вас меньше пяти вариантов
Если у вас меньше пяти вариантов, возможно, проще использовать переключатели, а не дополнительный клик, чтобы перейти ко всем параметрам списка. Потому что список больше пяти вариантов, начинает занимать много места.
Альтернатива выпадающего списка: если у вас меньше пяти вариантов
Примечание: некоторые люди говорят, что должно быть меньше шести вариантов, но вы сами решите какое правило вам подходит.
Если проще напечатать, чем выбрать
Если вашему пользователю потребуется меньше времени, чтобы набрать текст, чем выбрать вариант из выпадающего списка, вам действительно нужен ответ, что лучше? Например, для даты рождения легче напечатать, чем использовать три отдельных раскрывающихся списка.
Альтернатива выпадающего списка: если легче напечатать
Иногда разработчики могут возразить против этого, так как проще сделать раскрывающийся список, чем установить все правила, что пользователи могут и не могут вводить в полях свободного набора текста. Увы, я много раз проигрывал эту битву, но продолжаю вести борьбу.
Если у вас есть два варианта, и это «on» и «off» (или «да» и «нет»)
Раскрывающийся список с двумя вариантами немного раздражает. Особенно с вопросами «да / нет». Переключатели прекрасно подходят для подобных вопросов.
Альтернатива выпадающего списка: если у вас есть вопрос с двумя вариантами ответа
Если варианты ответа числовые
Если варианта ответа числовые, у вас есть несколько вариантов.
Первый – позволить пользователю напечатать ответ. Степперы также полезны, но я бы предложил использовать их только в том случае, если ожидается, что будет не больше пяти вариантов. В противном случае ваш бедный пользователь будет долго сидеть, кликая до 100.
Альтернатива выпадающего списка: если варианты числовые
Второй использует ползунок (слайдер), чтобы выбрать значение. Слайдеры особенно полезны для больших чисел или приблизительных значений.
Альтернатива выпадающего списка: если варианты числовые
Альтернатива выпадающего списка: если варианты имеют диапазон
Если вариантов много
Если в раскрывающемся списке много вариантов (которых по возможности следует избегать), позвольте пользователю «искать» нужный вариант. Чаще всего это можно увидеть в выпадающих списках стран, поскольку они длинные, но на них легко ответить. Как упоминалось ранее, это лучше всего работает в паре с автозаполнением.
Альтернатива выпадающего списка: если вариантов много, НО пользователь знает ответ, прежде чем кликнуть по раскрывающемуся списку
Итак, когда вы должны использовать раскрывающийся список?
Данные ввода должны соответствовать двум требованиям, чтобы рассмотреть возможность использования раскрывающегося списка:
Есть более шести вариантов.
Когда варианты не являются чем-то, что пользователь сразу узнает. Например, представьте, что ваш пользователь загружает видео, а хост должен знать, какую лицензию прикрепить к видео. Среднестатистический пользователь не будет знать все варианты, доступные на платформе, поэтому потребуется раскрывающийся список.
7. Нативные раскрывающиеся списки
Мы склонны использовать нативные или стандартные варианты, когда время и бюджет ограничены или, когда мы работаем над MVP. Наличие кастомных полей ввода – это глазурь на торте, но иногда у нас нет возможности сделать эту сладкую глазурь. В этом случае полезно знать, с чем вам придется работать.
Кроме того, нативные раскрывающиеся списки более безопасны, когда дело доходит до юзабилити на разных устройствах.
Наши широкомасштабные тесты юзабилити и сравнительный анализ показывают, что в то время как 82% сайтов электронной коммерции используют в процессе оформления заказа кастомные раскрывающиеся списки, 31% из них имеют значительные проблемы юзабилити. – Кристиан Хольст
Статью можно прочитать здесь
По умолчанию
Вот несколько примеров нативных раскрывающихся списков. Чтобы попробовать их, перейдите по ссылке: https://html.com/attributes/option-selected/
Как вы можете видеть в этих примерах, все они немного различаются в зависимости от платформы и браузера. Они не красивые, но очень удобны в использовании.
Использование оболочки
Раньше я называл подобные раскрывающиеся списки «полу-кастомными», но недавно нашел статью, в которой этот паттерн называется оболочкой (shell) – это звучит куда формальнее. Поэтому впредь я буду называть это оболочкой, и буду использовать этот термин на совещаниях. Я буду наслаждаться, когда люди будут спрашивать меня, что это значит, просто чтобы я мог показать, насколько я умен.
«НО, что такое оболочка?», спросите вы. Оболочка – это когда поле выглядит нестандартно, но, когда вы кликаете по нему, оно использует нативный стиль раскрывающегося списка. Это простой способ сохранить стиль страницы в соответствии с вашим брендом и снизить стоимость разработки. Это также помогает решить проблемы UX, которые могут возникнуть с кастомными полями ввода.
Оболочка раскрывающегося списка
8. Проверка доступности?
Активное состояние раскрывающегося списка (включая метку) превышает 44px? (Мы учитываем метку, потому что, если вы кликните по метке, раскрывающийся список все равно должен открыться).
Все варианты в раскрывающемся списке имеют высоту более 44px с расстоянием 8px между ними?
Соответствуют ли цвета стандартам доступности AAA?
У вашего раскрывающегося списка есть выделенное состояние?
Убедитесь, что выпадающие списки работают с tabbing map.
Если вы используете кастомный раскрывающийся список, убедитесь, что он может открываться вверх или вниз в том случае, если область просмотра браузера находится слишком низко.
И, если вы сомневаетесь, посетите https://webaim.org/techniques/forms/controls
Как знают мои постоянные читатели, прошло много времени с тех пор, как я написал предыдущую статью, и я сожалею, что это заняло так много времени. Знаете, нет ничего лучше, чем глобальная пандемия, которая заставит вас вернуться к написанию статей.
Многие ненавидят раскрывающиеся списки– и это правильно. Но иногда существует несколько возможных альтернатив, и, если это так, вы должны улучшить раскрывающиеся списки.
Спасибо Lesedi Hermans.
Как Изменить Цвет Выпадающего Списка Выбора Без Использования Изображения?
ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ: (jsFiddle: http://jsfiddle.net/ztayse92/) Сделал стрелку предыдущего решения под раскрывающимся меню и использовал прозрачный фон. Это так же прекрасно, как и может, и решает проблему с наложением/зависанием, не зависящей от области.
ОБНОВЛЕНИЕ: взломайте ответ, не используя изображение: (jsFiddle: http://jsfiddle.net/swpha0s0/4/)
Я сделал контейнер с относительным позиционированием, и я установил выпадающий список и символ наложения (стрелка) с абсолютным позиционированием. В CSS я также полностью удаляю стилизацию стрелки. Единственный недостаток заключается в том, что, поскольку символ стрелки является наложением, он не доступен для кликов или, другими словами, когда щелчок мышью по стрелке, раскрывающийся список не открывается. Я сделал стрелу как можно меньше места. Я также подумал о том, чтобы поместить стрелку клика по стрелке и открыть раскрывающийся список с помощью JavaScript, но в соответствии с этим (Можно ли использовать JS для открытия выбора HTML, чтобы показать его список опций?) это невозможно. Я установил курсор по умолчанию, когда вы наводите курсор мыши на стрелку, чтобы пользователь не принимал неверную обратную связь, и это можно сделать кликабельным. Итак, это самое близкое решение для того, что вы хотите — мне любопытно, почему изображения не разрешены и что такое прецедент для этого?
Вы должны статически менять положение фона и центрировать его так, как вам нравится, но это хорошо, если вам просто нужно изменить вид стрелки или поместить свое собственное изображение. Это невозможно сделать без изображений /css или javascript (если вы хотите полностью изменить виджет). Вы можете переключать класс, когда вы нажимаете его, чтобы изменить фон, чтобы вы могли стрелять еще вверх.
Выпадающий список html пошаговая инструкция
Выпадающий список html. За последние два года, разработка веб-приложений (сайтов) продвинулась далеко вперед и то, что мы использовали для создания сайта ранее — уже устарело или появились более свежие методы.
Ранее, чтобы создать выпадающий список в html (на англ. — dropdown), мы просто использовали <select> и <option>. Факт в том, что мы и сейчас может его использовать, но зачастую нам нужно менять стили и адаптировать цветовую гамму выпадающего списка под стиль дизайна. К сожалению, не всегда получается стилизовать так как хочется, потому что select и option имеют свои ограничения и плохую поддержку кроссбраузерности. Читайте еще: Как создать презентацию в PowerPoint.
Напомню, что любая форма, присутствующая на странице, создается при помощи основного тега form (который часто содержит элемент input) и предназначена для ввода какой-либо информации от пользователя и отправки ее на сервер (пример — форма обратной связи для сайта WP).
К сожалению, средства языка гипертекстовой разметки не позволяют напрямую обрабатывать эту информацию, поэтому с помощью HTML мы создаем лишь внешний вид формы, а необходимые данные отправляются для обработки. С этой целью на вебсервере целенаправленно создается специальный файл, написанный на одном из серверных языков (чаще всего, PHP). Скажем, для обратной связи можно сотворить файлик mail.php, который и будет являться обработчиком.
При практическом использовании полученной в этой публикации информации не забудьте о том, как должна выглядеть структура любого HTML документа, где коды всех видимых элементов страницы, включая формы, всегда находятся в пределах тега body.
Эта информация крайне необходима, поскольку даже в случае использовании всех современных встроенных в популярные браузеры инструментов разработчиков (напомню, первой ласточкой в реализации этого функционала был плагин Firebug для Мазилы), вы должны четко представлять себе механизм использования основных тегов, тогда редактирование кода HTML, необходимость которого возникает время от времени, превратится в приятное занятие.
И еще. Поскольку HTML5 позволяет реализовывать многие современные задачи и, более того, в недалеком будущем будет приоритетным, в процессе повествования (не только в этой, но и в иных публикациях на данную тему) я обязательно буду акцентировать ваше внимание на те теги и атрибуты, которые появились именно в пятой модификации.
Выпадающие списки с помощью select, option и optgroup
Рассмотрим создание раскрывающихся списков как одного из вариантов веб-формы на сайте. Все его отдельные элементы формируются при помощи тегов option, которые вложены в контейнер, определяемый тэгом select. Для вариативности есть еще и optgroup, который дает возможность упорядочить список. Все эти варианты мы и разберем ниже.
В целях удобства для каждого набора тегов и атрибутов сформирована табличка, где слева дан HTML код, а справа — внешний вид конкретного варианта выпадающего списка, который будет отображаться на веб-странице сайта в браузере пользователя.
Атрибуты тега select
Name— в качестве значения (параметра) этого атрибута нужно добавить название списка (в приведенном примере это «list1″) для его идентификации при обработке на сервере
Ну и весь выпадающий список является одним из вариантов формы, а потому описывается тегом form, к которому добавляются необходимые атрибуты (action, method, name), обеспечивающие его корректное функционирование. С целью визуального показа кнопки для отправки данных на сервер здесь использован тег input с атрибутами «type=»submit»» и «value=»Отправить»». К слову, кнопочку можно оформить и посредством тега button.
Multiple— этот атрибут, не имеющий параметров, дает возможность множественного выбора в отличие от выше приведенного примера, где можно выбрать только один элемент (строчку). Попробуйте выделить в данном списке мышкой сразу несколько строк (по одной в любых местах, удерживая клавишу Ctrl, либо посредством Shift следующих подряд одна за одной)
Size— устанавливает высоту выпадающего списка, то есть количество отображаемых строк. Если присутствует атрибут multiple, а значение size не указано (как в примере выше), то по умолчанию отображается четыре строки, а, например, при size=»5″ будут видны уже пять
Required[HTML5] (параметров не имеет) — определяет, что обязательно нужно сделать выбор перед отправкой данных обработчику. Если элемент из списка не выбран, то данные формы отправлены не будут
Autofocus[HTML5] (значений не имеет) — устанавливает фокус на список сразу после загрузки страницы. Кроме того, если пользователь привык основную часть действий производить клавишами, то как раз такое предварительно настроенное фокусирование поможет делать выбор из списка посредством стрелок на клавиатуре без всякого использования мышки
Disabled(параметров нет) — блокирует доступ к списку (отключает его). На практике обычно используется вместе со скриптами в тех случаях, когда нужно включать раскрывающийся список только при выполнении определенных условий
Form[HTML5] — осуществляет связь списка с одной или несколькими формами, к которым он принадлежит, но находится вне контейнера <form></form>. При этом в роли значения атрибута form прописывается параметр глобального атрибута id, который добавлен к тегу form
Не путайте атрибут тега select и основной тэг для создания формы. В примере выше к тегу form добавлен атрибут id=»data», а к select — form=»data», что и позволило связать выпадающий список с конкретной формой.
Атрибуты тега option
Value— определяет то значение из выпадающего списка, которое будет отправлено на сервер (обработчику формы). Собственно, обработчику отправляется имя, которое задается атрибутом name тега select, и значение value (для данного примера — 1, 2, 3, 4, 5), соответствующее выбранной строке выпадающего списка
Disabled— блокирует для выбора элемент выпадающего списка.
Как видно из примера, строчка «Option» неактивна и выбрать ее невозможно.
Label— отображает текстовое содержание (являющееся его значением) того или иного элемента списка. Если label присутствует, то выводится строчка, тождественная значению этого атрибута и игнорируется текстовое содержание, находящееся внутри тега option. То же самое происходит, ежели содержимое между <option> и </option> вовсе отсутствует.
Смотрите. В выше предоставленном примере первая строка для option в коде пустая (в левой части таблицы), но прописан параметр label=»Тег Option», в результате именно этот текст появился в списке (в правой части). Вторая строка кода в качестве содержимого тега option содержит текст «Тег Textarea», но в раскрывающемся списке справа отображается слово «Textarea», совпадающее со значением label=»Textarea».
Selected— выделяет текущий пункт выпадающего списка
Атрибуты тега optgroup
Если выпадающий список необходимо как-то упорядочить, например, разделить по группам, то для каждой из этих групп используют контейнер, состоящий из открывающего и закрывающего тегов optgroup, внутри которого содержится часть пунктов выпадающего списка. При этом существуют два атрибута для настройки подобного раскрывающегося списка.
Label— устанавливает название каждой группы в качестве параметра
Disabled(нет значений) — блокирует выбор элементов той группы, по отношению к которой он установлен, причем, неактивные пункты обычно выделены серым цветом
Текстовое поле в форме посредством textarea
Еще один элемент формы для сайта, который мы рассмотрим — поле с возможностью ввода в него многострочного текста. Его можно создать с помощью тега textarea. Без атрибутов по умолчанию применение этого тега даст такой результат
В поле можно осуществлять переносы строк, при этом текст будет передаваться обработчику на сервер с учетом сделанных переносов. Поле можно растягивать по ширине и длине, захватив мышкой нижний правый угол, который отмечен двумя диагональными полосками.
Попробуем теперь добавить к первоначальному коду несколько атрибутов с параметрами:
Name— определяет имя текстовой области в качестве значения для ее идентификации после отправки данных формы при их обработке на сервере.
Cols— ширина поля, которая в роли параметра задается числом стоящих рядом одинаковых символов, размещенных по горизонтали. Значение по умолчанию — 20.
Rows— высота текстового поля, определяемое количеством строк. Если число строк текста, вводимого пользователем, окажется больше значения, заданного этим атрибутом, то справа появится вертикальная полоса прокрутки.
Maxlength[HTML5] — указывает максимальное количество знаков, которые можно поместить в текстовое поле. При превышении лимита дальнейший ввод будет невозможен.
Ниже представлен пример со всеми выше перечисленными атрибутами, действие каждого из которых вы можете проверить самолично, просто поместив в область текста нужное количество букв и строк (можете просто ввести один и тот же символ несколько раз)
Minlength[HTML5] — указывает минимальное число знаков, которые необходимо ввести в текстовую область. Ежели пользователь попытается отправить текст с меньшим количеством символов, то браузер выведет краткое сообщение с информацией, в которой будет содержаться упоминание о необходимости дополнить содержание формы и о том, сколько знаков уже введено.
Placeholder[HTML5] — с помощью этого атрибута можно поместить текст в поле, являющийся параметром данного атрибута, который исчезнет, когда пользователь начнет вводить символы
Readonly(без параметров) — ежели к textarea прикрутить данный атрибут, то текстовое поле окажется недоступным для изменения пользователями и будет предназначено только для чтения. Но на него можно навести фокус (подведите курсор к полю и щелкните левой кнопкой мышки), а также выделить и скопировать (частично или полностью) текст
Еще несколько атрибутов, реализующих дополнительный функционал при заполнении полей:
Autoсomplete[HTML5] — указывает, должен ли браузер выдавать подсказки при заполнении формы пользователем на основании ранее вводимых данных и дает возможность автоматически вставлять подходящий текст.
Данный атрибут со значением «on» работает только тогда, когда в веб-обозревателе конкретного пользователя включено автозаполнение полей формы.
Wrap[HTML5] — устанавливает для браузера правила переноса строк в текстовой области с помощью трех значений:
Soft — набор символов, который не помещается в поле по ширине, автоматически переносится на новую строчку. При этом обработчику текст будет передан в виде одной строки. В том случае, если пользователь осуществит перенос текста в любом нужном месте с помощью клавиши «Enter», то такой перенос сохраняется при отправке вебформы.
Hard — переносы производятся автоматически, если текст не влезает в поле по ширине, причем, при отправке обработчику места таких переносов будут сохранены. Этот параметр используется только в связке с атрибутом cols
Off — отключение переносов строк. Если напечатать текстовый фрагмент без механического переноса посредством клавиши «Enter», то весь текст будет помещен в одну строку, причем, появится горизонтальная полоса прокрутки
Далее вкратце упомяну еще несколько атрибутов, их действия абсолютно тождественны воздействию одноименных аналогов для других тегов, которые мы уже разбирали в этой статье.
Autofocus[HTML5] (не имеет параметров) — инициирует фокусирование на текстовое поле при загрузке страницы с формой.
Disabled— в отличие от атрибута readonly (который также запрещает редактировать содержимое поля, но дает возможность навести на него фокус), полностью блокирует доступ к текстовой области, которая окрашивается обычно в серый цвет
Form[HTML5] — связывает текстовое поле с формой в тех случаях, когда по тем или иным причинам оно расположено вне <form></form>. Как и в случае с тегом select, связь осуществляется посредством глобального атрибута id для form. При этом параметры id и атрибута form тождественны
Required— определяет, что поле обязательно для заполнения. Если в текстовой области не будет содержимого, при попытке отправки формы на сервер веб-браузер выведет сообщение о необходимости ее заполнения, а форма отправлена не будет. Содержание сообщения зависит от браузера и не может быть изменено.
Особенности тега label
По умолчанию элемент формы при щелчке по его текстовой составляющей не активируется. Возьмем сначала в качестве примера список (реализуемый с помощью атрибута type=»checkbox» тега input), нужные строки которого пользователь должен отметить, заполнив соответствующие чекбокс(-ы) галочками. Чтобы поставить галочку, необходимо щелкнуть по флажку мышкой, но клик по расположенному рядом тексту будет безрезультатным.
Именно тег label позволяет реализовать активацию какого-либо элемента при клике по его названию. Есть 2 способа, с помощью которых можно связать элемент формы HTML и текст.
1 способ. Необходимо применить идентификатор id внутри элемента формы и указать его имя в качестве значения атрибута for тега label
2 способ. Элемент формы поместить внутрь контейнера, созданного тегом label
Теперь можете кликнуть не только по самой форме, но и по тексту, расположенному рядом. Итог будет идентичным. Другим примером может служить форма для ввода текста (создаваемая с помощью атрибута type=»text» того же input), где активация (помещение курсора в текстовое поле) будет происходить и после щелчка по надписи «Введите текст»
Итак, с помощью тега label можно успешно реализовать связывание элементов форм и текста.
Fieldset и legend — группировка элементов формы
Наверное, вы заметили, что на многих веб-сайтах HTML формы бывают разделены на группы. Это можно реализовать посредством fieldset, который является контейнером, где расположены все элементы данной части формы. При этом очень часто в состав содержимого этого тега входит один или несколько тэгов legend, с помощью которых прописываются названия групп.
Давайте в качестве начального примера сформируем одну подгруппу с привлечением атрибута type тега input для создания чекбоксов и в пределах <legend></legend> впишем ее название. Ниже в таблице слева находится HTML код для этой формы, а справа — результат его работы
Обратите внимание, что при использовании fieldset все пространство области его действия по умолчанию для наглядности выделяется специальной рамкой. Выглядит неплохо. Естественно, за счет CSS свойств вид этой рамки можно изменить, а то и вовсе ее убрать. Для тега fieldset существуют три атрибута, влияние которых мы сейчас незамедлительно и разберем:
Name[HTML5] — служит для наименования совокупности элементов, объединенных в контейнере <fieldset></fieldset>. Название (как параметр этого атрибута) применяется в дальнейшем с целью идентификации конкретной группы при обработке формы, в том числе в скриптах, включая JavaScript.
Чтобы наглядно продемонстрировать действие name, заключим данную группу в тег form для корректной работы и добавим кнопку с помощью тега button, прописав к нему параметр HTML
события onclick=»form.group1.style.backgroundColor=’#e1dccd’», в котором и присутствует значение этого атрибута. Данное событие позволяет пользователю с помощью созданной кнопочки изменить цвет фона в пределах области формы, заданной тегом fieldset
Disabled[HTML5] — (нет значений) подобно одноименным атрибутам для уже рассмотренных тэгов деактивирует группу элементов (вас ждет неудача при попытке заполнить чекбоксы ниже). Читайте еще: Самый легкий браузер.
Form[HTML5] — связывает вебформу, расположенную отдельно, с конкретной группой. Идентификация реализуется путем установки одинаковых значений form и универсального атрибута id (в нашем примере это id=»data» и form=»data»)
Таким образом, мы рассмотрели те возможности, которые предоставляет использование наиболее распространенных тегов для форм, позволяющих также расширить их функциональность.
Закажите продвижение сайта через форму и получите скидку 20%:
Тег опции HTML
Пример
Раскрывающийся список с четырьмя вариантами:
Выберите машину:
<выбрать>
Попробуй сам »
Дополнительные примеры «Попробуйте сами» ниже.
Определение и использование
Тег определяет параметр в
выберите список.
элементы входят в
Примечание: Тег может использоваться без каких-либо атрибутов, но
обычно вам нужен атрибут value , который указывает, что отправляется на сервер
при отправке формы.
Совет: Если у вас длинный список параметров, вы можете сгруппировать связанные параметры в теге
Поддержка браузера
Элемент
<опция>
Есть
Есть
Есть
Есть
Есть
Атрибуты
Атрибут
Значение
Описание
отключен
отключен
Указывает, что параметр должен быть отключен
этикетка
текст
Задает более короткую метку для опции
выбран
выбрано
Указывает, что параметр должен быть предварительно выбран при загрузке страницы.
значение
текст
Задает значение для отправки на сервер
Глобальные атрибуты
Тег также поддерживает глобальные атрибуты в HTML.
Атрибуты событий
Тег также поддерживает атрибуты событий в HTML.
Другие примеры
Пример
Использование
Выберите свой браузер из списка:
Попробуй сам »
Пример
Использование
Попробуй сам »
Связанные страницы
Ссылка на HTML DOM: объект Option
Настройки CSS по умолчанию
Нет.
HTML | Тег — GeeksforGeeks
Тег
<выбор>
<вариант>
...
Атрибуты: Атрибуты тега перечислены ниже:
автофокус: Атрибут автофокуса HTML используется для указания того, что раскрывающийся список должен автоматически получать фокус, когда страница нагрузки.Это тип логического атрибута.
disabled: Атрибут disabled используется для указания того, что элемент выбора отключен. Отключенный раскрывающийся список невозможно щелкнуть и использовать. Это логический атрибут.
form: Атрибут HTML form используется для указания одной или нескольких форм, которым принадлежит элемент .
multiple: Атрибут HTML multiple является логическим атрибутом.Он указывает, что пользователю разрешено выбирать более одного значения, представленного в элементе .
имя: Атрибут HTML name используется для указания имени раскрывающегося списка. Он используется для ссылки на данные формы после отправки формы или для ссылки на элемент в JavaScript.
required: Атрибут HTML required — это логический атрибут, который используется для указания того, что пользователю следует выбрать значение перед отправкой формы.
размер: Атрибут размера HTML используется для указания количества видимых опций в раскрывающемся списке.
Пример:
html
< html >
< заголовок >
Тег выбора HTML
заголовок >
голова >
< body style = "text-align: center;" >
< h2 > GeeksforGeeks h2 >
< h3 > HTML select Tag h3 >
< p > Выберите один вариант из раскрывающегося списка: p >
< выберите >
< опция значение = «GFG» > GFG опция >
< опция значение = "OS" > OS option >
< опция значение = «СУБД» > СУБД опция >
< опция значение = "Данные Структура »>
Структура данных
опция >
select >
body >
html >
Выход:
Поддерживаемые браузеры: Браузеры, поддерживаемые тегом HTML , перечислены ниже :
Google Chrome
Internet Explorer
Firefox
Safari
Opera
Раскрывающееся меню или список для множественного выбора
Выпадающий список - один из самых гибких объектов в HTML.Это похоже на радио-кнопку, то есть только один элемент может быть выбран из группы элементов, но с той лишь разницей, что раскрывающееся меню занимает меньше места в for по сравнению с Radiobutton, и люди могут просматривать по одному элементу за раз.
Выпадающий список можно создать следующим образом:
Атрибуты раскрывающегося списка:
Атрибут
Описание
Имя
Этот атрибут определяет имя объекта, через который на него можно ссылаться.
размер
Interger: используется для указания количества видимых элементов в списке.
Несколько
Если да, то можно выбрать несколько вариантов.
Атрибуты
Атрибут
Описание
значение
Используется для указания значения, которое будет отправлено, если форма была отправлена.
выбран
Выбор опции по умолчанию
Пример:
Любимый цвет:
Вот результат:
Любимый цвет: синий, зеленый, красный, желтый, выберите цвет Белый
В коде посмотрите, как мы сохранили значение, равное пустому, для тега Выберите цвет.Теперь давайте попробуем один выпадающий список с множественным выбором.
Управление шириной поля выбора
Если мы изменяем элементы поля выбора динамически, ширина раскрывающегося поля выбора будет продолжать изменяться. Он будет растягиваться или уменьшаться в зависимости от элементов поля выбора. Это будет выглядеть не очень красиво, поэтому, чтобы задать ширину исправления, мы должны использовать таблицу стилей. Просто добавив атрибут ширины, мы не сможем добиться результата в Internet Explorer и других браузерах, кроме Netscape.Вот код для управления шириной поля выбора.
Множественный выбор из раскрывающегося списка Мы можем дать пользователям возможность выбрать более одного варианта, добавив атрибут , несколько .Мы также можем указать размер для отображения количества вариантов без расширения раскрывающегося списка. Вот образец списка с несколькими вариантами.
СинийЗеленыйКрасныйЖелтый Выберите цвет Белый
Нажмите и удерживайте кнопку Ctrl и выберите более одного элемента из списка.
Вот код выше.
Мы можем сгруппировать варианты под разными заголовками.Мы можем использовать optgroup для управления такой группой опций.
OPTGROUP для группировки опций Listbox →
несколько вариантов выбора из списка обрабатываются с использованием PHP
Управление списком с помощью JQuery
← HTML-форма
← Textarea в форме
Флажок в форме →
Эта статья написана командой plus2net.com .
Выбрать · Bootstrap v5.0
По умолчанию
Custom Для меню нужен только пользовательский класс .form-select для запуска пользовательских стилей. Пользовательские стили ограничены начальным внешним видом и не могут изменять из-за ограничений браузера.
Откройте это меню выбораOneTwoThree
Калибр
Вы также можете выбрать из маленького или большого пользовательского выбора, чтобы соответствовать нашим текстовым полям аналогичного размера.
Открыть это меню выбораOneTwoThreeОткрыть это меню выбораOneTwoThree
Также поддерживается множественный атрибут :
Откройте это меню выбораOneTwoThree
Как и размер , атрибут :
Откройте это меню выбораOneTwoThree
Отключено
Добавьте логический атрибут disabled для выбора, чтобы придать ему неактивный вид и удалить события указателя.
На этой странице есть фрагменты кода выбора / раскрывающегося списка HTML для создания списка штатов США.В списке используются значения аббревиатуры штата USPS.
Список отдаленных территорий и записей USPS вооруженных сил также доступен. Просто добавьте их в выпадающий список, если хотите их использовать.
Государственный список (+ район) - ФИО
<выбор>
Внешние территории США - полное название
Вооруженные силы - Полное наименование
Государственный список
(+ район) - код ISO
<выбор>
Внешние территории США - код ISO
Вооруженные силы - код ISO
Государственный список
(+ район) - название + код ISO
<выбор>
Внешние территории США - название + код ISO
Вооруженные силы - название + код ISO
Как реализовать теги Select и Option в HTML
Select и Action являются одними из наиболее важных тегов в HTML, и нельзя создать раскрывающееся меню и не использовать его.Давайте начнем наше путешествие по тегам select и option в HTML следующим образом:
Что такое тег Select и Option в HTML?
Тег используется в форме для определения списка выбора в HTML. Что появляется при нажатии на элемент формы, и пользователь выбирает один из вариантов.
Тег в элементе select определяет доступную опцию в списке. Тег
Пример тега выбора в HTML
HTML-тег выбора
Вывод:
Этот тег параметра является тегом, который можно использовать для предоставления любого числа раскрывающихся параметров.Тема в этом поле может быть изменена в соответствии с требованиями.
Список атрибутов выбранного тега
Атрибут
Описание
Имя
Он используется для присвоения имени элементу управления, которое отправляется на сервер быть узнаваемым и ценить.
Размер
Используется для отображения окна списка с прокруткой.
Несколько
Если он установлен на « несколько », то позволяет пользователю выбирать несколько пунктов из меню.
Пример тега опции в HTML
Тег опции HTML
Список атрибутов тега опции
Атрибут
Описание
Значение
Это значение будет использоваться, если выбран вариант в поле выбора .
Выбрано
Указывает, что этот параметр должен быть выбран первым значением при загрузке страницы.
Этикетка
Альтернативный способ маркировки.
На этом мы подошли к концу этой статьи о тегах Select и Option в HTML. Надеюсь, вы поняли важность тегов Select и Option в HTML.
Ознакомьтесь с нашей программой Full Stack Web Developer Masters Program, которая включает в себя обучение под руководством инструктора и практический опыт работы с проектами.Это обучение поможет вам овладеть навыками работы с серверными и интерфейсными веб-технологиями. Он включает обучение веб-разработке, jQuery, Angular, NodeJS, ExpressJS и MongoDB.
Есть к нам вопрос? Пожалуйста, укажите это в разделе комментариев блога «Select & Option Tag in HTML», и мы свяжемся с вами.
ваш яд - 24 Доступность
Если бы сообщество веб-доступности каким-то образом коллективно договорилось о едином объединяющем призыве, это могло бы легко быть «использование собственных семантических элементов HTML.«Это, как и большинство вещей в доступности, является чрезмерным упрощением, но оно полезно. По мере того, как 2019 год подходит к концу, многие популярные библиотеки компонентов (см. Пользовательский интерфейс материалов и Bootstrap) предоставляют стилизованные версии собственных элементов для своих основных элементов управления формой. Тем не менее, остается только один общий элемент управления формой, который продолжает разбираться, переосмысливаться и переделываться с нуля дюжиной различных способов. Сегодня пришло время поближе познакомиться с элементом .
Когда люди решают использовать свой собственный компонент пользовательского интерфейса для обработки выбора, обычно это происходит по одной из четырех причин:
Больше контроля над стилем
Фильтрация или поведение автозаполнения
Множественный выбор
«Но мой вариант использования особенный»: то есть странные вещи, такие как выпадающие списки в виде сетки или дерева
Мы собираемся глубоко погрузиться в две части: что происходит, когда вы пытаетесь переделать элемент , редактируемые варианты и варианты с множественным выбором, их сравнительное удобство использования (с данными!), Почему так сложно создать настраиваемый доступный компонент выбора и, наконец, дать некоторые конкретные рекомендации.
Немного предыстории
Почему нестандартная альтернатива так сложна? Почему этот шаблон стоит двух полных статей? История начинается с проблемного потомка собственных стилей браузера, проходит через две разные философии операционных систем, а затем переходит к изменяющейся спецификации ARIA.
Стилизация меню параметров
В настоящее время почти всем собственным HTML-элементам можно присвоить индивидуальные стили, за исключением нескольких несоответствий.К ним относятся поля формы со сложным пользовательским интерфейсом, такие как или , и, в частности, выпадающие меню и . Хотя оболочку вокруг свернутого блока можно стилизовать, меню параметров по-прежнему практически невозможно настроить.
Хотя чисто эстетическое предпочтение является распространенной причиной для использования настраиваемого компонента выбора, это не хорошая причина .Доступность и удобство использования должны определять эстетический выбор, а не наоборот. В индивидуальном решении задействовано так много компромиссов доступности, что для его необходимости должна быть соответствующая веская причина; «Он должен выглядеть красивее», не так ли.
Windows против macOS
Одним из самых серьезных препятствий на пути создания доступного кроссплатформенного компонента выбора является то, что на разных платформах существуют фундаментальные разногласия по поводу того, что на самом деле представляет собой компонент выбора. Если вы проверите базовые сопоставления API специальных возможностей в Windows и macOS для элемента , вы заметите, что он отображается на поле со списком в Windows и всплывающую кнопку (которая открывает меню) в macOS.
Отображение специальных возможностей Windows
сопоставления специальных возможностей macOS
На самом деле различия лежат глубже, чем просто элемент HTML . Выбранные компоненты в настольных приложениях, поставляемых с Windows, также определяются как поля со списком. В Windows также есть множество редактируемых полей со списком (выберите компоненты, которые включают текстовое поле и отображают список параметров на основе ввода данных пользователем), разбросанных по основному пользовательскому интерфейсу. Хороший пример простого редактируемого поля со списком можно найти в приложении «Выполнить» и нескольких комбинированных списках только для чтения (т.е. поля со списком, которые принимают выбор, но не вводят текст) находятся на вкладке «Экран» в приложении «Настройки».
Компонент собственного выбора в приложении параметров Windows 10 сопоставляется с ролью поля со списком, а параметры определяются как элементы списка. Снимок экрана с полными настройками Windows
С другой стороны, пользовательский интерфейс системы macOS ничего из этого не делает. Он в значительной степени избегает редактируемых комбинированных списков, хотя несколько редких комбинаций можно увидеть в функциях «перейти в папку» и «подключиться к серверу» в Finder. Компоненты с одним выбором без ввода текста более распространены и неизменно определяются как всплывающие кнопки, которые раскрывают меню.В разделе «Общие» системных настроек есть немало вещей, которые можно проверить.
Компонент собственного выбора в приложении «Системные настройки macOS» определяется как всплывающая кнопка, а параметры - как пункты меню. Снимок экрана с полными настройками системы Комбинированные поля действительно существуют в macOS, но они достаточно редки, чтобы многие пользователи никогда с ними не столкнулись. Снимок экрана приложения Full Run
. Это представляет проблему для всех, кто пытается создать настраиваемый элемент управления выбора: хотя браузеры могут отображать собственные элементы HTML на основе соглашений операционной системы (ОС), автор настраиваемого компонента должен определить одну единую семантическую структуру для применения. на всех устройствах и ОС.Пользователи программ чтения с экрана, в основном использующие macOS (или iOS или Android, поскольку они также используют структуру списка кнопок), могут быть сбиты с толку списками со списком, а пользователи программ чтения с экрана Windows будут менее знакомы со всплывающими кнопками, используемыми для выбора. Вставьте булавку в эту мысль, так как она снова появится позже.
Поле со списком и список в ARIA
Еще одним фактором, способствующим путанице с семантикой настраиваемого выбора, является то, что сама спецификация ARIA не согласовывалась в своем руководстве по роли поля со списком.Каждое обновление дополнительной версии спецификации ARIA на сегодняшний день включает критические изменения в шаблоне поля со списком. Изменения были необходимы для решения непреодолимых проблем с реализацией браузеров и платформ, но конечным результатом стал широкий спектр конкурирующих шаблонов, которые нужно было разобрать.
Чтобы помочь разобраться в шуме, вот практическое руководство по различным шаблонам ARIA для комбинированных списков и списков:
Поле со списком ARIA 1.0
Эта версия является исходной рекомендацией ARIA, и у нее возникли проблемы с , принадлежащим aria, , когда оказалось, что элемент текстового поля не всегда может быть легко отображен как родительский для другого элемента на всех платформах.
вариант 1
Поле со списком ARIA 1.1
Это решило проблему -parent, заключив как текстовое поле, так и поле списка в отдельный родительский элемент combobox, но при этом возникли другие проблемы.
вариант 1
Проект ВСС 1.2 поле со списком
Последняя версия шаблона combobox почти идентична шаблону ARIA 1.0, но использует aria-control вместо aria-own на . Пример реализации можно протестировать в редакционном проекте Руководства по ARIA Practices Guide (APG). На момент написания эта версия все еще является рабочим черновиком и еще не является рекомендацией W3C; следите за статусом спецификации ARIA 1.2, которой необходимо следовать, когда она станет официальной.
вариант 1
Всплывающая кнопка
Это шаблон, который больше всего напоминает собственный в macOS, iOS и Android.У этого шаблона есть некоторые уникальные проблемы, поскольку он использует элемент в качестве ввода формы: он не может отдельно отображать и метку, и значение; выбранное значение изначально не будет отправлено как часть элемента ; он также не может быть помечен как только для чтения, обязательный или недопустимый.
Этот шаблон явно не упоминается нигде в спецификации ARIA или Практическом руководстве ARIA.Несмотря на это, он появился во многих библиотеках компонентов, таких как Kendo UI и Office Fabric. Похоже, что он не имеет корней в каких-либо собственных шаблонах ОС, хотя ARIA 1.1 действительно добавила aria-extended в качестве поддерживаемого состояния в роль списка, отчасти для того, чтобы предоставить альтернативу недостаткам шаблона выпадающего списка 1.1.
вариант 1
Некоторые люди кропотливо учатся определять птиц с первого взгляда, а другие делают то же самое для шаблонов combobox и listbox в сети.Всем нужно хобби. К сожалению, высокая скорость изменения этих шаблонов означает, что большая часть конкретных советов о том, как создать собственный выбор, уже устарела. Действуйте осторожно и всегда проверяйте дату публикации статьи, прежде чем использовать ее в качестве ссылки.
Варианты поведения
До сих пор мы рассмотрели стилистические и семантические проблемы создания настраиваемого компонента выбора, но не рассмотрели возможности для другого поведения. Взаимодействие с клавиатурой, выбор и автозаполнение могут быть реализованы несколькими способами.Подобно разнообразию доступных семантических структур, не существует единого истинного пути для пользовательского интерфейса выбранного компонента, только оттенки серого и удобство использования, зависящее от контекста.
В этом разделе основное внимание уделяется шаблонам взаимодействия с рабочим столом, но стоит отметить, что и iOS, и Android имеют сильно различающиеся визуальные представления и шаблоны взаимодействия для своего собственного пользовательского интерфейса опций и относительно плохо работают с обычным раскрывающимся списком, похожим на рабочий стол, особенно устройства с меньшим экраном.Однако в настоящее время невозможно воссоздать их собственные реализации в Интернете, поэтому некоторый уровень ухудшения UX для пользователей мобильных устройств и планшетов задается с помощью настраиваемого или поля со списком.
Базовое поведение клавиатуры
Все основные браузеры в Windows 10 - протестированы с Chrome (версия 78), Firefox (версия 70), Edge (версия 44, до Chromium) и Internet Explorer 11 - реализуют следующее поведение клавиатуры на свернутом :
Вверх и Вниз Стрелки изменяют выбранный параметр, но не раскрывают меню параметров
Alt + Up или Alt + Down открывает меню параметров и выделяет текущий параметр
Enter ничего не делает, в том числе не отправляет родительскую форму, если применимо.(В Chrome есть небольшая вариация: Enter открывает меню параметров.)
Пробел открывает меню параметров и выделяет текущий параметр
Печатаемые символы: выберите любые совпадающие параметры, не раскрывая меню параметров
И это поведение при раскрытии меню параметров:
Вверх и Вниз Стрелки перемещаются по параметрам, одновременно изменяя выбор
Пробел ничего не делает
Enter закрывает меню, сохраняя выделенный в данный момент параметр выбранным
Escape закрывает меню, сохраняя выделенный в данный момент параметр выбранным
Chrome (версия 78) и Safari в macOS Catalina не так сильно отличаются в реализации клавиатуры, как в семантике, но все же имеют следующие различия:
Вверх и Вниз Клавиши со стрелками раскрывают меню параметров и выделяют текущий параметр
Chrome в macOS не открывает меню параметров с Enter
В развернутом виде клавиши со стрелками вверх и вниз изменяют выделенный параметр, но не изменяют выделение
Оба Введите и Пробел выберите текущий выделенный параметр и сверните меню параметров
Escape сворачивает меню параметров и возвращает к ранее выбранному параметру
Наиболее важные различия связаны с тем, какие клавиши должны раскрывать меню параметров, какие клавиши должны выбирать текущий параметр и закрывать раскрывающийся список, и должно ли нажатие клавиши ESC возвращать выбор к ранее выбранному параметру.Поведение пробела также особенно интересно при переходе к редактируемым комбинированным спискам, поскольку в этом контексте это печатаемый ключ, но он по-прежнему несет в себе поведение, изученное из реализации .
Выбор
По сути, существует два разных способа обработки изменения выбора с помощью клавиатуры: либо выбор изменяется, как фокус с клавишами со стрелками, либо он обновляется только тогда, когда пользователь нажимает клавишу ввода (или иногда пробел) и сворачивает раскрывающийся список.Windows и macOS придерживаются противоположных подходов к этому, поэтому нет единого выбора, который всем пользователям будет знаком. Многие пользователи нажимают клавишу ввода или пробела, чтобы выбрать параметр, независимо от того, был ли выбор уже выполнен за фокусом, что делает различия платформ несущественными. Однако поведение выбора становится очень актуальным, когда пользователи вместо этого нажимают escape (как упоминалось ранее) или табуляцию из расширенного меню параметров. Поведение при выборе табуляции и экранирования особенно важно, если учесть следующие моменты:
Enter обычно отправляет форму при вызове при вводе формы.Несмотря на то, что этого не происходит с , пользователи узнали об этом поведении и в результате могут избежать нажатия Enter на любом элементе формы.
Пробел выбирает только текущий параметр в macOS и потенциально не может использоваться в качестве клавиши выбора в редактируемом поле со списком, так как пользователю может потребоваться ввести пробел во входные данные.
Некоторые пользователи, возможно, выработали привычку завершать выделение нажатием клавиши escape или табуляции вместо ввода или пробела по этим двум причинам.Включите также эту мысль, так как она снова возникнет, когда весь этот беспорядок будет пройден через некоторые тесты удобства использования.
Множественный выбор
До сих пор обсуждение семантической структуры и поведения клавиатуры было сосредоточено вокруг раскрывающегося компонента с одним выбором и пролетело мимо <выбрать несколько> и пользовательских множественных выборок. Теперь давайте вернемся к кругу и быстро посмотрим, как они могут работать:
Собственный семантически сопоставлен со списком как в Windows, так и в macOS, и выбор следует за фокусом в обеих операционных системах.(Боковое примечание: менее известный имеет такое же визуальное представление, семантику и поведение выбора, что и , но допускает только один выбор.) Выбор нескольких Параметры в строке выполняются удерживанием клавиши Shift при использовании клавиш со стрелками, а выбор нескольких несмежных параметров выполняется путем поджигания компьютера и выброса его в окно (отказ от ответственности: не пытайтесь это сделать дома).
Несмотря на соглашение между платформами о том, как определять семантику и поведение клавиатуры для , тот факт, что большинство пользователей не знают, как выбрать несколько вариантов с помощью клавиатуры (а иногда даже указателя), означает, что группа флажков - почти всегда лучшее решение.По сей день я понятия не имею, как управлять этим элементом управления на сенсорном экране рабочего стола или с помощью чего-то вроде управления глазами или переключателя.
Создав индивидуальный множественный выбор, мы можем исправить некоторые из этих проблем с помощью пары простых настроек:
Выбор никогда не следует за фокусом; его необходимо независимо переключать с помощью ввода или пробела.
Щелчок указателя переключает выбор только этого параметра, не влияя на выбранное состояние любого другого параметра.
Автозаполнение и фильтрация
Как автозаполнение, так и фильтрация применяются только к комбинированным спискам, поскольку они включают реакцию на ввод текста пользователем.Существует несколько различных способов фильтрации или автозаполнения на основе пользовательского ввода, которые также перечислены в шаблоне комбинированного списка ARIA Practices Guide:
Первый вариант, соответствующий текстовой строке, автоматически прокручивается и выделяется или выбирается
Список параметров фильтруется на основе текстовой строки ( aria-autocomplete = "list" )
Остающийся текст первого варианта сопоставления автоматически вставляется во ввод текста после введенной пользователем строки ( aria-autocomplete = "inline" )
Любое из этих трех вариантов поведения может быть объединено вместе: например, поле со списком может как фильтровать предложения на основе ввода пользователя, так и вставлять текст первого параметра соответствия во ввод текста ( aria-autocomplete = "both" ) .Преимущество фильтрации и автозаполнения наиболее ярко проявляется при работе с множеством потенциальных вариантов, например, при выборе страны или предложении поисковых запросов.
Разбираемся с опциями
Надеюсь, теперь совершенно ясно, что воссоздать собственное поведение элемента невозможно: его базовая семантика различается на разных платформах; его поведение клавиатуры непоследовательно; его мобильная презентация и поведение полностью отличается от настольного компьютера.При создании настраиваемого элемента управления пользовательского интерфейса мы берем на себя ответственность браузера за определение семантики, представления и поведения, а это означает, что мы должны выбрать одну единственную реализацию, которая будет обслуживать всех.
С таким разнообразным и сложным ландшафтом избранного поведения и таким множеством потенциальных путей через него выбор этой единственной идеальной реализации может показаться невыполнимой задачей.