Ответ 1
Как насчет
$('select>option:eq(3)').attr('selected', true);
пример http://www.jsfiddle.net/gaby/CWvwn/
для современных версий jquery вы должны использовать .prop()
вместо .attr()
$('select>option:eq(3)').prop('selected', true);
Мне было интересно, можно ли заставить jQuery выбрать <option>
, скажем, 4-й элемент, в выпадающем списке?
<select>
<option></option>
<option></option>
<option></option>
<option></option>
<option></option>
</select>
Я хочу, чтобы пользователь щелкнул ссылку, а затем поле <select>
изменило его значение, как если бы пользователь выбрал его, щелкнув по <option>
.
Как насчет
$('select>option:eq(3)').attr('selected', true);
пример http://www.jsfiddle.net/gaby/CWvwn/
для современных версий jquery вы должны использовать .prop()
вместо .attr()
$('select>option:eq(3)').prop('selected', true);
Решение:
$("#element-id").val('the value of the option');
Элементы выбора HTML имеют свойство 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;
Я бы сделал это таким образом
$("#idElement").val('optionValue').trigger('change');
Самый простой способ - val(value)
:
$('select').val(2);
И чтобы получить выбранное значение, вы не дадите никаких аргументов:
$('select').val();
Кроме того, если у вас есть <option value="valueToSelect">...</option>
, вы можете сделать:
$('select').val("valueToSelect");
Если ваши параметры имеют значение, вы можете сделать это:
$('select').val("the-value-of-the-option-you-want-to-select");
'select' будет идентификатором вашего выбора или селектора классов. или если есть только один выбор, вы можете использовать тег, как в примере.
Используйте следующий код, если вы хотите выбрать опцию с определенным значением:
$('select>option[value="' + value + '"]').prop('selected', true);
Я предпочитаю nth-child() для eq(), поскольку он использует индексирование на основе 1, а не 0, что немного легче для моего мозга.
//selects the 2nd option
$('select>option:nth-child(2)').attr('selected', true);
С элементом '' обычно мы используем атрибут value. Это упростит настройку:
$('select').val('option-value');
Попробуйте следующее:
$('#mySelectElement option')[0].selected = true;
Привет!
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);
ответ с id:
$('#selectBoxId').find('option:eq(0)').attr('selected', true);
$('select>option:eq(3)').attr('selected', 'selected');
Одно предупреждение здесь, если у вас есть просмотр javascript для события выбора варианта/варианта, вам нужно добавить .trigger('change')
, чтобы код стал.
$('select>option:eq(3)').attr('selected', 'selected').trigger('change');
поскольку только вызов .attr('selected', 'selected')
не вызывает событие