Установите выделенный индекс в раскрывающемся списке, используя jQuery
Как установить индекс выпадающего списка в jQuery, если способ, которым я нахожу элемент управления, выглядит следующим образом:
$("*[id$='" + originalId + "']")
Я делаю это так, потому что я создаю элементы управления динамически, и поскольку идентификаторы изменены при использовании Web Forms, я нашел это как работу, чтобы найти некоторые элементы управления. Но как только у меня есть объект jQuery, я не знаю, как установить выделенный индекс на 0 (ноль).
Ответы
Ответ 1
Прежде всего - этот селектор довольно медленный. Он сканирует каждый элемент DOM, ища идентификаторы. Это будет меньше производительности, если вы можете назначить класс элементу.
$(".myselect")
Однако, чтобы ответить на ваш вопрос, есть несколько способов изменить значение элементов select в jQuery
// sets selected index of a select box to the option with the value "0"
$("select#elem").val('0');
// sets selected index of a select box to the option with the value ""
$("select#elem").val('');
// sets selected index to first item using the DOM
$("select#elem")[0].selectedIndex = 0;
// sets selected index to first item using jQuery (can work on multiple elements)
$("select#elem").prop('selectedIndex', 0);
Ответ 2
Просто нашел это, он работает для меня, и мне лично легче читать.
Это установит фактический индекс точно так же, как вариант ответа gnarf номер 3.
// sets selected index of a select box the actual index of 0
$("select#elem").attr('selectedIndex', 0);
Это не сработало, но теперь... см. ошибку:
http://dev.jquery.com/ticket/1474
Добавление
Как рекомендуется в комментариях, используйте:
$("select#elem").prop('selectedIndex', 0);
Ответ 3
Я использую
$('#elem').val('xyz');
чтобы выбрать элемент опции с значением = 'xyz'
Ответ 4
Код JQuery:
$("#sel_status").prop('selectedIndex',1);
Код Jsp:
Status:
<select name="sel_status"
id="sel_status">
<option value="1">-Status-</option>
<option>ALL</option>
<option>SENT</option>
<option>RECEIVED</option>
<option>DEACTIVE</option>
</select>
Ответ 5
Я пишу этот ответ в 2015 году, и по какой-то причине (вероятно, более старые версии jQuery) ни один из других ответов не работал у меня. Я имею в виду, что они меняют выбранный индекс, но на самом деле не отражают фактическое раскрывающееся меню.
Вот еще один способ изменить индекс и на самом деле отразить его в выпадающем меню:
$('#mydropdown').val('first').change();
Ответ 6
Вы хотите захватить значение первого параметра в элементе select.
$("*[id$='" + originalId + "']").val($("*[id$='" + originalId + "'] option:first").attr('value'));
Ответ 7
$("[id$='" + originalId + "']").val("0 index value");
установит его на 0
Ответ 8
Чтобы выбрать вторую опцию
$('#your-select-box-id :nth-child(2)').prop('selected', true);
Здесь мы добавляем `trigger ('change'), чтобы сделать событие пожарным.
$('#your-select-box-id :nth-child(2)').prop('selected', true).trigger('change');
Ответ 9
Выберите четвертый вариант
$('#select').val($('#select option').eq(3).val());
пример jsfiddle