jQuery - установка выбранного значения элемента select по текстовому описанию
У меня есть элемент управления "select", и в переменной JavaScript у меня есть текстовая строка.
С помощью jQuery я хочу установить выбранный элемент управления "select" на элемент с текстом, который у меня есть (в отличие от значения, которого у меня нет).
Я понимаю, что установить его по значению довольно просто. Например:
$("#my-select").val(myVal);
Но я немного запутался, как это сделать через текстовое описание. Думаю, должен быть способ получить значение по текстовому описанию, но мой мозг не работает в полную силу, чтобы разобраться с этим.
Как мне установить выбранное значение в элементе "select" по тексту?
5 ответ(ов)
Я не тестировал это, но, возможно, это сработает для вас.
$("select#my-select option")
.each(function() { this.selected = (this.text == myVal); });
В этом коде мы проходимся по всем опциям в селекте с идентификатором my-select
и устанавливаем свойство selected
для той опции, текст которой совпадает с переменной myVal
.
Попробуйте следующий код, чтобы выбрать опцию с текстом myText
в вашем элементе <select>
:
$("#my-Select option").filter(function() {
return $(this).text() === myText;
}).prop("selected", true);
Этот код находит все опции внутри элемента с идентификатором my-Select
, фильтрует их по тексту и устанавливает выбранной ту, чья текст соответствует значению переменной myText
.
Я делаю это следующим образом (jQuery 1.9.1):
$("#my-select").val("Dutch").change();
Обратите внимание, не забудьте вызвать change()
, я долго искал, потому что не знал об этом 😃
Код $("#myselect option:contains('YourTextHere')").val();
вернет значение первого элемента <option>
, в тексте которого содержится строка 'YourTextHere'. Я протестировал это, и оно работает корректно.
Эта строка сработала:
$("#myDropDown option:contains(myText)").attr('selected', true);
Этот код выберет элемент option
в элементе с ID myDropDown
, который содержит текст myText
, и установит его как выбранный. Обратите внимание, что :contains()
— это селектор jQuery, который позволяет находить элементы, содержащие указанный текст.
Как перенаправить на другую веб-страницу?
Прокрутка к элементу с использованием jQuery
Как определить нажатие клавиши Esc?
Удалить ВСЕ пробелы из текста
Как получить данные формы с помощью JavaScript/jQuery?