jQuery для извлечения и установки значения выбранной опции html-элемента select - PullRequest
126 голосов
/ 03 августа 2009

Я пытаюсь получить и установить выбранное значение элемента выбора (раскрывающийся список) с помощью jQuery.

для получения я пробовал $("#myId").find(':selected').val(), а также $("#myId").val(), но оба возвращают неопределенный.

Любое понимание этой проблемы будет высоко ценится.

Ответы [ 9 ]

248 голосов
/ 10 сентября 2011

чтобы получить / установить фактическое свойство selectedIndex элемента select, используйте:

$("#select-id").prop("selectedIndex");

$("#select-id").prop("selectedIndex",1);
150 голосов
/ 03 августа 2009

То, как у вас это правильно, на данный момент. Либо идентификатор выбора не то, что вы говорите, или у вас есть некоторые проблемы в дом.

Проверьте Id элемента, а также проверьте правильность разметки в здесь в W3c.

Без действительного dom jQuery не может корректно работать с селекторами.

Если идентификаторы верны и ваш дом проверяет, применяется следующее:

Для чтения Выберите значение параметра

$('#selectId').val();

Для установки Выберите значение параметра

$('#selectId').val('newValue');

Для чтения выбранного текста

$('#selectId>option:selected').text();
7 голосов
/ 03 августа 2009

$('#myId').val() должен сделать это, в противном случае я бы попытался:

$('#myId option:selected').val()
4 голосов
/ 03 августа 2013

При настройке с помощью JQM не забудьте обновить UI:

$('#selectId').val('newValue').selectmenu('refresh', true);
3 голосов
/ 03 августа 2009

$("#myId").val() должно работать, если myid - идентификатор элемента выбора!

Это установит выбранный пункт: $("#myId").val('VALUE');

1 голос
/ 10 февраля 2012

Предположим, вы создали выпадающий список, используя тег SELECT, как показано ниже,

<select id="Country">

Теперь, если вы хотите увидеть выбранное значение из выпадающего списка с помощью JQuery, просто вставьте следующую строку, чтобы получить это значение.

var result= $("#Country option:selected").text();

будет работать нормально.

0 голосов
/ 07 ноября 2018

Попробуйте это

$('#your_select_element_id').val('your_value').attr().add('selected');
0 голосов
/ 11 ноября 2017

$ ("опция #myId: selected") .text (); даст вам текст, который вы выбрали в выпадающем элементе. в любом случае вы можете изменить его на .val (); чтобы получить ценность этого. проверьте приведенную ниже кодировку

<select id="myId">
    <option value="1">Mr</option>
    <option value="2">Mrs</option>
    <option value="3">Ms</option>`
    <option value="4">Dr</option>
    <option value="5">Prof</option>
</select>
0 голосов
/ 09 марта 2017

Я знаю, что это старо, но у меня был медведь времени с Razor, я не мог заставить его работать, как бы я ни старался. Продолжал возвращаться как «неопределенный» независимо от того, использовал ли я «текст» или «html» для атрибута. Наконец, я добавил атрибут «data-value» в опцию, и он отлично прочитал.

 <option value="1" data-value="MyText">MyText</option>

 var DisplayText = $(this).find("option:selected").attr("data-value");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...