Как выбрать опцию из выпадающего списка с точным текстом - PullRequest
3 голосов
/ 19 декабря 2011

Я хочу разрешить пользователю вводить текстовое поле, искать его в раскрывающемся списке и выбирать его.Однако у меня есть сам объект, а не его имя.

В настоящее время нажатие клавиши ввода в текстовом поле запускает следующий код

$(this).prev().find('option:contains(\'editboxValue\')').attr('selected', 'selected');

, но приведенный выше код выбирает только Text2.следующий код работает нормально, но выглядит грязно!

$(this).prev().find("option").each(function(){ if ($(this).text() == 'editboxValue') $(this).attr("selected","selected");});

есть ли лучший способ написать это?

<select>
  <option>Text</option>
  <option>Text1</option>
  <option>Text2</option>
</select>
<input type="text">

Ответы [ 2 ]

3 голосов
/ 20 июня 2012

, чтобы выбрать опцию, используя текст элемента раскрывающегося списка, используйте эту

var findText = $('#textBoxId').val();
$('#dropDownList option').
    filter(function () {return ($(this).text() == findText); })).
    attr('selected', 'selected'); 
0 голосов
/ 19 декабря 2011

дайте вашему выбору идентификатор или класс и дайте опциям идентификатор, равный вашему тексту.Легко сделать, если вы генерируете параметры.Все, что вам нужно сделать, чем это:

var myId = 'GetTheIdYouNeed'
$('.mySelect').find(myId);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...