Я хочу разрешить пользователю вводить текстовое поле и искать его в выпадающем меню и выбирать его. Однако у меня есть объект, а не его имя.Как выбрать опцию из раскрывающегося списка с точным текстом
В настоящее время Прессинг ввести в текстовое поле будет работать следующий код
$(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">
Ваш 'each' цикл никогда не будет выбрать элемент. '' + $ (this) .val() + ''берется буквально. Вы можете использовать 'filter': http://api.jquery.com/filter/ –
@Felix: Спасибо, что выделили ошибку. Я взял строку из части события, прикрепленного к выбору. Я отредактировал код, чтобы показать, что я имел в виду. – AaA