У меня есть следующий <select>
элемент HTML :
<select id="leaveCode" name="leaveCode">
<option value="10">Annual Leave</option>
<option value="11">Medical Leave</option>
<option value="14">Long Service</option>
<option value="17">Leave Without Pay</option>
</select>
Используя функцию JavaScript с leaveCode
числом в качестве параметра, как выбрать соответствующую опцию в списке?
javascript
html
dom
brasskazoo
источник
источник
Ответы:
Вы можете использовать эту функцию:
источник
element.dispatchEvent(new Event('change'));
Если вы используете jQuery, вы также можете сделать это:
Это выберет
<option>
со значением 14.С простым Javascript это также может быть достигнуто двумя
Document
способами :С помощью
document.querySelector
вы можете выбрать элемент на основе селектора CSS:Используя более устоявшийся подход
document.getElementById()
, это, как следует из названия функции, позволит вам выбрать элемент на основе егоid
:Вы можете запустить приведенный ниже код, чтобы увидеть эти методы и функцию jQuery в действии:
Показать фрагмент кода
источник
источник
Не отвечая на вопрос, но вы также можете выбрать по индексу, где i - это индекс элемента, который вы хотите выбрать:
Вы также можете перебирать элементы для выбора по отображаемому значению с помощью цикла:
источник
Я сравнил разные методы:
Сравнение различных способов установки значения выбора с помощью JS или jQuery
код:
Вывод на выбор с ~ 4000 элементов:
С Firefox 10. Примечание. Единственная причина, по которой я прошел этот тест, заключалась в том, что jQuery работал очень плохо в нашем списке с ~ 2000 записями (у них был более длинный текст между опциями). У нас была задержка примерно на 2 с после val ()
Обратите внимание: я устанавливаю значение в зависимости от реального значения, а не от значения текста.
источник
Это должно установить выбор "Ежегодный отпуск"
источник
Я пробовал вышеупомянутые решения на основе JavaScript / jQuery, такие как:
а также
в приложении AngularJS, где был необходим элемент <select>.
Ни один из них не работает, потому что проверка формы AngularJS не запускается. Хотя была выбрана правильная опция (и отображается в форме), ввод оставался недействительным ( ng-нетронутым и ng-недействительным классы все еще присутствуют).
Для принудительной проверки AngularJS вызовите jQuery change () после выбора опции:
а также
источник
источник
Самый простой способ, если вам нужно:
1) Нажать кнопку, которая определяет опцию выбора
2) Перейти на другую страницу, где опция выбора
3) Выбрать значение этой опции на другой странице
1) Ваши кнопки ссылок (скажем, на главной странице)
(где contact.php - это ваша страница с опциями выбора. Обратите внимание, что у URL страницы есть? option = 1 или 2)
2) разместите этот код на своей второй странице (мой случай contact.php )
3) сделать значение параметра выбранным, в зависимости от нажатой кнопки
.. и так далее.
Так что это простой способ передать значение на другую страницу (с помощью списка опций выбора) через GET в URL. Нет форм, нет идентификаторов .. всего 3 шага, и все работает отлично.
источник
Почему бы не добавить переменную для идентификатора элемента и сделать ее функцией многократного использования?
источник
Предположим, что ваша форма называется form1 :
источник
Должно быть что-то вроде этого:
источник
Если вы используете PHP, вы можете попробовать что-то вроде этого:
источник
Скорее всего, вы хотите это:
ИЛИ
источник
using JavaScript
.источник
Боюсь, что сейчас я не могу это проверить, но в прошлом я полагал, что мне нужно было присвоить каждому тегу опции идентификатор, а затем я сделал что-то вроде:
Если это не сработает, возможно, это приблизит вас к решению: P
источник
select()
метода (он не определяет каких - либо дополнительных методов более стандартного набора на всех HTML - элементов). Однако вы можете установить дляselected
свойства значение true.