используйте jquery, чтобы выбрать опцию выпадающего - PullRequest
143 голосов
/ 01 февраля 2011

Мне было интересно, можно ли заставить jQuery выбрать опцию, скажем, 4-й элемент, в выпадающем списке?

<select>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
</select>

Я хочу, чтобы пользователь щелкнул ссылку, а затем поле выбора изменило ее значение, как если бы пользователь выбрал его, щелкнув по опции.

Ответы [ 13 ]

173 голосов
/ 01 февраля 2011

Как насчет

$('select>option:eq(3)').attr('selected', true);

пример на http://www.jsfiddle.net/gaby/CWvwn/


для современных версий jquery вы должны использовать .prop() вместо .attr()

$('select>option:eq(3)').prop('selected', true);

пример на http://jsfiddle.net/gaby/CWvwn/1763/

141 голосов
/ 01 февраля 2011

Решение:

$("#element-id").val('the value of the option');
48 голосов
/ 17 января 2013

HTML-элементы select имеют свойство selectedIndex, в которое можно записать, чтобы выбрать конкретный параметр:

$('select').prop('selectedIndex', 3); // select 4th option

Используя простой JavaScript, этого можно достичь:

// use first select element
var el = document.getElementsByTagName('select')[0]; 
// assuming el is not null, select 4th option
el.selectedIndex = 3;
22 голосов
/ 17 июня 2013

Самый простой способ - это val(value) функция:

$('select').val(2);

И для получения выбранного значения вы не дадите никаких аргументов:

$('select').val();

Также вы, если у вас есть <option value="valueToSelect">...</option>, вы можете сделать:

$('select').val("valueToSelect");

DEMO

20 голосов
/ 01 февраля 2011

если у ваших опций есть значение, вы можете сделать это:

$('select').val("the-value-of-the-option-you-want-to-select");

«select» будет идентификатором вашего выбора или селектора класса. или если есть только один выбор, вы можете использовать тег, как в примере.

19 голосов
/ 05 ноября 2015

Я бы сделал это так

 $("#idElement").val('optionValue').trigger('change');
8 голосов
/ 21 января 2014

Используйте следующий код, если вы хотите выбрать опцию с определенным значением:

$('select>option[value="' + value + '"]').prop('selected', true);
3 голосов
/ 03 августа 2017
 Try with the below codes. All should work. 
    $('select').val(2);
    $('select').prop('selectedIndex', 1);
    $('select>option[value="5"]').prop('selected', true);
    $('select>option:eq(3)').attr('selected', 'selected');
    $("select option:contains(COMMERCIAL)").attr('selected', true);
3 голосов
/ 02 декабря 2013

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

$('#mySelectElement option')[0].selected = true;

С уважением!

3 голосов
/ 21 ноября 2013

С элементом '' обычно мы используем атрибут 'value'.Тогда вам будет проще установить:

$('select').val('option-value');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...