Получить значение раскрывающегося списка в jQuery


100

У меня есть раскрывающийся список с парой "ID, Name".

пример

Джон Миллер
Джим Смит
Джен Морсин

У Джона Миллера ID 101, у
Джима Смита ID 102, у
Джен Морсин ID 103.

Когда я делаю следующее:

var arNames = $('#Crd').val() 

и я выбираю Джона Миллера, я получаю 101. Я бы хотел получить Джона Миллера.


Ответы:


185

$('#Crd').val()предоставит вам выбранное значение раскрывающегося элемента. Используйте это, чтобы получить выбранный текст опций.

$('#Crd option:selected').text();

3
$ ('# Crd option: selected'). Text () или $ ('# Crd option: selected'). Val (), .text дает вам значение отображаемого текста, а не значение
Патрик Чой,

$ ('# Параметр Crd: selected'). Val (); по цене
asifaftab87

13

Лучше всего использовать:

$("#yourid option:selected").text();

В зависимости от требований вы также можете использовать этот способ:

var v = $("#yourid").val();
$("#yourid option[value="+v+"]").text()

5

Если вы используете <select>, .val()получает «значение» выбранного <option>. Если у него нет value, он может вернуться к id. Поместите значение, которое вы хотите вернуть, в valueатрибут каждого<option>

Изменить: см. Комментарии для разъяснения того, что на valueсамом деле (не обязательно равно valueатрибуту).


1
Просто пояснение: .val () возвращает свойство реального значения, а не значение атрибута HTML.
Чад

Верный. Однако в этом случае нет практической разницы, поскольку OP, похоже, не хочет изменять values в любой момент.
Ансел Сантоза

2
.val() gets the 'value' attribute of the selected <option>, как я уже сказал: просто уточняю.
Чад

Что, если мне нужен индекс или идентификатор, а не текст?
bgmCoder





0

Как было указано ... в selectполе .val()атрибут предоставит вам значение выбранной опции. Если выбранный параметр не имеет атрибута значения, по умолчанию будет использоваться отображаемое значение параметра (это то, что показано в примерах документации jQuery.val .

вы хотите использовать .text()выбранный вариант:

$('#Crd option:selected').text()


0

Это дает вам текущее значение раскрывающегося списка, если в раскрывающемся списке есть идентификатор "someId".

$("#someId").val();

0

$('.leave_response').on('change', function() {
    var responseId = $(this).val();
    console.log(responseId);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<td>
    <select class="leave_response" name="leave">
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
    </select>
</td>


0

Передайте идентификатор и удерживайте его в переменной и передайте переменную куда угодно.

var temp = $ ('выберите [имя = имя ID]'). val ();


$ ('select [name = ID Name] option: selected'). val (); Этот тоже работает
Абхиджит Патра
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.