Как получить выбранное значение из выпадающего списка с помощью JavaScript?
Я попробовал методы ниже, но все они возвращают выбранный индекс вместо значения:
var as = document.form1.ddlViewBy.value;
var e = document.getElementById("ddlViewBy");
var strUser = e.options[e.selectedIndex].value;
javascript
html-select
Огонь Рука
источник
источник
Ответы:
Если у вас есть элемент select, который выглядит следующим образом:
Запуск этого кода:
Сделал бы
strUser
быть2
. Если вы действительно хотитеtest2
, то сделайте это:Какой бы
strUser
бытьtest2
источник
onchange
:)var strUser = e.options[e.selectedIndex].value;
почему не простоvar strUser = e.value ?
var e = document.getElementById("ddlViewBy").value;
e.target.options[e.target.selectedIndex].text
, не знаю, почему это неправильно во всех ответах здесь ..Простой JavaScript:
JQuery:
AngularJS : ( http://jsfiddle.net/qk5wwyct ):
источник
element.options[e.selectedIndex].value
должно бытьelement.options[element.selectedIndex].value
e.target.options[e.target.selectedIndex].text
, не знаю, почему это неправильно во всех ответах здесь ..Это правильно и должно дать вам значение. Это текст, который вы ищете?
Итак, вы понимаете терминологию:
Эта опция имеет:
источник
e.target.options[e.target.selectedIndex].text
, не знаю, почему это неправильно во всех ответах здесь ..Следующий код демонстрирует различные примеры, связанные с получением / помещением значений из полей ввода / выбора с использованием JavaScript.
Ссылка на источник
Рабочая Javascript и JQuery Демо
Следующий скрипт получает значение выбранного параметра и помещает его в текстовое поле 1
Следующий скрипт получает значение из текстового поля 2 и оповещает его значением
Следующий скрипт вызывает функцию из функции
источник
onchange=run(this.value)
или(this.text)
может быть более полезным.источник
Если вы когда-нибудь сталкивались с кодом, написанным исключительно для Internet Explorer, вы можете увидеть это:
Запуск вышеупомянутого в Firefox и др. Даст вам ошибку «не является функцией», потому что Internet Explorer позволяет вам избежать использования () вместо []:
Правильный способ - использовать квадратные скобки.
источник
Любое поле ввода / формы может использовать ключевое слово «this», когда вы обращаетесь к нему из элемента. Это устраняет необходимость поиска формы в дереве dom, а затем размещения этого элемента внутри формы.
источник
Новичкам, скорее всего, захочется получить доступ к значениям из выбора с атрибутом NAME, а не с атрибутом ID. Мы знаем, что все элементы формы должны иметь имена, даже до того, как они получат идентификаторы.
Итак, я добавляю
getElementByName()
решение только для новых разработчиков.NB. имена для элементов формы должны быть уникальными, чтобы форму можно было использовать после публикации, но DOM может разрешить использовать имя для нескольких элементов. По этой причине рассмотрите возможность добавления идентификаторов в формы, если можете, или явно указывайте имена элементов формы
my_nth_select_named_x
иmy_nth_text_input_named_y
.Пример использования
getElementByName
:источник
Есть два способа сделать это, используя JavaScript или jQuery.
JavaScript:
ИЛИ
JQuery:
источник
Просто используйте
$('#SelectBoxId option:selected').text();
для получения текста в списке$('#SelectBoxId').val();
для получения выбранного значения индексаисточник
Предыдущие ответы все еще оставляют место для улучшения из-за возможностей, интуитивности кода и использования «
id
против»name
. Можно получить данные трех данных выбранного параметра - его номер индекса, его значение и его текст. Этот простой кросс-браузерный код выполняет все три функции:Демонстрационная версия: http://jsbin.com/jiwena/1/edit?html,output .
id
следует использовать для макияжа. Для целей функциональной формыname
все еще действует, также в HTML5, и все еще должен использоваться. Наконец, не забывайте использовать квадратные или круглые скобки в определенных местах. Как было объяснено ранее, только (более старые версии) Internet Explorer будет принимать круглые во всех местах.источник
Используя jQuery:
источник
Другое решение:
источник
Запуск примера того, как это работает:
Примечание. Значения не меняются при изменении выпадающего списка. Если вам требуется эта функциональность, то следует применить изменение onClick.
источник
Вы можете использовать
querySelector
.Например
источник
У меня немного другое мнение о том, как этого добиться. Обычно я делаю это следующим способом (насколько мне известно, это более простой способ и работает с каждым браузером):
источник
В 2015 году в Firefox также работает следующее.
источник
Чтобы согласиться с предыдущими ответами, вот как я делаю это как однострочник. Это для получения фактического текста выбранной опции. Есть хорошие примеры для получения номера индекса уже. (А для текста я просто хотел показать это так)
В некоторых редких случаях вам может понадобиться использовать скобки, но это будет очень редко.
Я сомневаюсь, что это происходит быстрее, чем двухстрочная версия. Мне просто нравится как можно больше консолидировать свой код.
К сожалению, это все еще выбирает элемент дважды, что не идеально. Метод, который захватывает элемент только один раз, был бы более полезным, но я еще не понял, что делать это с одной строкой кода.
источник
Вот строка кода JavaScript:
Предполагается, что выпадающее меню названо списком
name="list"
и включено в форму с именем атрибутаname="form1"
.источник
var as = document.form1.ddlViewBy.value;
...»Вы должны использовать
querySelector
для достижения этой цели. Это также стандартизирует способ получения значения из элементов формы.var dropDownValue = document.querySelector('#ddlViewBy').value;
Скрипка: https://jsfiddle.net/3t80pubr/
источник
Я не знаю, если я тот, кто не правильно понял вопрос, но это просто сработало для меня: использование события onchange () в вашем html, например.
// Javascript
Это даст вам любое значение в выпадающем списке выбора за клик
источник
Самый простой способ сделать это:
источник
Вот простой способ сделать это с помощью функции onchange:
event.target.options[event.target.selectedIndex].dataset.name
источник
Просто делать:
document.getElementById('idselect').options.selectedIndex
Затем вы получите значение индекса, начиная с 0.
источник
Пытаться
Показать фрагмент кода
источник
Сделайте выпадающее меню с несколькими опциями (столько, сколько хотите!)
Я сделал немного смешным. Вот фрагмент кода:
уя сниппет сработал
источник