HTMLSelectElement
Базовая Широко доступна *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Интерфейс HTMLSelectElement представляет собой HTML-элемент <select>. Эти элементы также наследуют все свойства и методы других HTML-элементов через интерфейс HTMLElement.
Свойства экземпляра
Этот интерфейс наследует свойства HTMLElement, Element и Node.
HTMLSelectElement.disabled-
Булево значение, отражающее атрибут HTML
disabled, указывающее, заблокирован ли элемент управления. Если элемент заблокирован, он не реагирует на щелчки. -
HTMLSelectElement.formТолько для чтения -
Объект
HTMLFormElement, ссылающийся на форму, к которой связан этот элемент. Если элемент не связан с элементом<form>, возвращаетnull. -
HTMLSelectElement.labelsТолько для чтения -
Список
NodeListэлементов<label>, связанных с этим элементом. HTMLSelectElement.length-
Числовое значение. Количество элементов
<option>в элементеselect. HTMLSelectElement.multiple-
Булево значение, отражающее атрибут HTML
multiple, указывающее, можно ли выбрать несколько элементов. HTMLSelectElement.name-
Строка, отражающая атрибут HTML
name, содержащая имя этого элемента управления, используемое серверами и функциями поиска DOM. -
HTMLSelectElement.optionsТолько для чтения -
Объект
HTMLOptionsCollection, представляющий набор элементов<option>(HTMLOptionElement), содержащихся в этом элементе. HTMLSelectElement.required-
Булево значение, отражающее атрибут HTML
required, указывающее, требуется ли пользователю выбрать значение перед отправкой формы. HTMLSelectElement.selectedIndex-
Числовое значение, отражающее индекс первого выбранного элемента
<option>. Значение-1указывает, что ни один элемент не выбран. -
HTMLSelectElement.selectedOptionsТолько для чтения -
Объект
HTMLCollection, представляющий набор выбранных элементов<option>. HTMLSelectElement.size-
Числовое значение, отражающее атрибут HTML
size, содержащее количество видимых элементов в элементе управления. По умолчанию значение равно 1, еслиmultipleравноtrue, тогда значение равно 4. -
HTMLSelectElement.typeТолько для чтения -
Строка, представляющая тип элемента управления формы. Когда
multipleравноtrue, возвращает"select-multiple", в противном случае возвращает"select-one". -
HTMLSelectElement.validationMessageТолько для чтения -
Строка, представляющая локализованное сообщение, описывающее ограничения валидации, которым не удовлетворяет элемент управления (если таковые имеются). Этот атрибут пустая строка, если элемент управления не является кандидатом для проверки ограничений (
willValidateравно false) или удовлетворяет своим ограничениям. -
HTMLSelectElement.validityТолько для чтения -
Объект
ValidityState, отражающий состояние валидности этого элемента управления. HTMLSelectElement.value-
Строка, отражающая значение элемента управления формы. Возвращает свойство
valueпервого выбранного элемента option, если таковой имеется, в противном случае возвращает пустую строку. -
HTMLSelectElement.willValidateТолько для чтения -
Булево значение, указывающее, является ли кнопка кандидатом для проверки ограничений. Значение равно
falseесли какие-либо условия препятствуют проверке ограничений.
Методы экземпляра
Этот интерфейс наследует методы HTMLElement, Element и Node.
HTMLSelectElement.add()-
Добавляет элемент в коллекцию элементов
optionдля этого элементаselect. HTMLSelectElement.checkValidity()-
Проверяет, имеет ли элемент ограничения и удовлетворяет ли он им. Если элемент не удовлетворяет ограничениям, браузер вызывает отменяемое событие
invalidв элементе (и возвращаетfalse). HTMLSelectElement.item()-
Возвращает элемент из коллекции options для этого элемента
<select>. Вы также можете получить доступ к элементу, указав его индекс в квадратных скобках или круглых скобках, не вызывая этот метод явно. HTMLSelectElement.namedItem()-
Возвращает элемент в коллекции options с указанным именем. Строка имени может соответствовать атрибуту
idилиnameузла option. Вы также можете получить доступ к элементу, указав его имя в квадратных или круглых скобках, не вызывая этот метод явно. HTMLSelectElement.remove()-
Удаляет элемент с указанным индексом из коллекции options для этого элемента
select. HTMLSelectElement.reportValidity()-
Этот метод сообщает пользователю о проблемах с ограничениями элемента, если таковые имеются. Если есть проблемы, он вызывает отменяемое событие
invalidв элементе и возвращаетfalse; если проблем нет, возвращаетtrue. HTMLSelectElement.setCustomValidity()-
Устанавливает пользовательское сообщение валидации для элемента выбора на указанное сообщение. Используйте пустую строку, чтобы указать, что у элемента нет ошибки пользовательской валидации.
showPicker()-
Отображает выборщик опций.
События
Этот интерфейс наследует события HTMLElement, Element и Node.
Следите за этими событиями с помощью addEventListener() или присвоив обработчик событий свойству oneventname этого интерфейса:
-
changeсобытие -
Срабатывает, когда пользователь выбирает опцию.
-
inputсобытие -
Срабатывает, когда
valueэлемента<input>,<select>или<textarea>изменен.
Пример
Получение информации о выбранной опции
/* assuming we have the following HTML
<select id='s'>
<option>First</option>
<option selected>Second</option>
<option>Third</option>
</select>
*/
const select = document.getElementById("s");
// return the index of the selected option
console.log(select.selectedIndex); // 1
// return the value of the selected option
console.log(select.options[select.selectedIndex].value); // Second
Лучший способ отслеживания изменений в выборе пользователя — наблюдение за событием change на <select>. Это сообщит вам о изменении значения, и вы сможете обновить необходимые данные. Подробнее см. пример в документации для события change.
Спецификации
| Спецификация |
|---|
| HTML # htmlselectelement |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
HTMLSelectElement |
1 | 12 | 1Вы должны следить за событиями change в элементе<select>, а не следить за событиями в элементах <option>. См. ошибку 1090602 и совместимость веб-контента в многопроцессном Firefox для получения подробной информации. |
2 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | ≤37 |
|---|---|---|---|---|---|---|---|---|---|---|---|
add |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
autocomplete |
66 | 79 | 59 | 53≤12.1–15 | 9.1 | 66 | 59 | 47≤12.1–14 | 9.3 | 9.0 | 66 |
checkValidity |
4 | 12 | 4 | 9 | 5 | 18 | 4 | 10.1 | 4 | 1.0 | ≤37 |
disabled |
1 | 12 | 1 | 9 | 3 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
form |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
item |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
labels |
6 | 18 | 56 | ≤12.1 | 5.1 | 18 | 56 | ≤12.1 | 5 | 1.0 | 3 |
length |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
multiple |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
name |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
namedItem |
1 | 12namedItem не учитывает атрибут name (только атрибут id) в Internet Explorer и Edge. Есть отчет об ошибке в Microsoft по этому поводу. |
1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
options |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
remove |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
reportValidity |
40 | 17 | 49 | 27 | 10.1 | 40 | 64 | 27 | 10.3 | 4.0 | 40 |
required |
10 | 12 | 4 | ≤12.1 | 5.1 | 18 | 4 | ≤12.1 | 5 | 1.0 | ≤37 |
selectedIndex |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
selectedOptions |
19 | 12 | 26 | 9 | 6 | 25 | 26 | 10.1 | 6 | 1.5 | 4.4 |
setCustomValidity |
4Этот метод обновляет только всплывающее окно с ошибкой проверки, а не подсказку, которая появляется при наведении курсора мыши на элемент, см. ошибку 41380670. |
12 | 4 | ≤12.1 | 5 | 18Этот метод обновляет только всплывающее окно с ошибкой проверки, а не подсказку, которая появляется при наведении курсора мыши на элемент, см. ошибку 41380670. |
4 | ≤12.1 | 4 | 1.0Этот метод обновляет только всплывающее окно с ошибкой проверки, а не подсказку, которая появляется при наведении курсора мыши на элемент, см. ошибку 41380670. |
≤37 |
showPicker |
121 | 121 | 122 | 107 | preview | 121 | 122 | 81 | No | 25.0 | 121 |
size |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
type |
1 | 12 | 1 | 2 | 3 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
validationMessage |
5 | 12 | 4 | ≤12.1 | 5 | 18 | 4 | ≤12.1 | 4 | 1.0 | ≤37 |
validity |
4 | 12 | 4 | ≤12.1 | 5 | 18 | 4 | ≤12.1 | 4 | 1.0 | ≤37 |
|---|---|---|---|---|---|---|---|---|---|---|---|
value |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
willValidate |
2 | 12 | 4 | ≤12.1 | 4 | 18 | 4 | ≤12.1 | 3 | 1.0 | ≤37 |
См. также
- Элемент HTML
<select>, который реализует этот интерфейс.
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement