Как выбрать элемент по его текстовому значению в выпадающем меню с помощью jQuery?

Если у меня был следующий выбор и не знал значения, которое нужно использовать, чтобы заранее выбрать элемент, как в этом question, или индекс элемента Я хотел выбрать, как я могу выбрать один из параметров с jQuery, если бы я знал текстовое значение, например Option C?

<select id='list'>
<option value='45'>Option A</option>
<option value='23'>Option B</option>
<option value='17'>Option C</option>
</select>

Ответы

Ответ 1

var option;
$('#list option').each(function() {
    if($(this).text() == 'Option C') {
        option = this;
        return false;
    }
});

Ответ 2

Это должно сделать трюк:

// option text to search for
var optText = "Option B";
// find option value that corresponds
var optVal = $("#list option:contains('"+optText+"')").attr('value');
// select the option value 
$("#list").val( optVal )

Как указывает вечность, это будет непредсказуемо, когда поиск текста можно найти более чем в одном варианте.

Ответ 3

$("#list option").each(function() {
  this.selected = $(this).text() == "Option C";
});

Ответ 4

function SelectItemInDropDownList(itemToFind){    
         var option;
         $('#list option').each(function(){
             if($(this).text() == itemToFind) {
                 option = this;
                 option.selected = true;
                 return false;    
                }
           });  }

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