如何使用jQuery在下拉列表中按文本值选择项目?

时间:2008-10-27 23:39:04

标签: javascript jquery dom

如果我有以下选择,并且不知道用于提前选择项目的值(如此question或我想要选择的项目的索引),我该如何选择其中一个选项如果我确实知道像Option C这样的文本值吗?

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

4 个答案:

答案 0 :(得分:14)

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

答案 1 :(得分:14)

这应该可以解决问题:

// 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 )

正如没有眼皮指出的那样,当搜索的文本可以在多个选项中找到时,这将表现得不可预测。

答案 2 :(得分:9)

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

答案 3 :(得分:4)

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

我只修改了之前的代码,因为它只在选择列表中找到了选项,有些可能需要文字演示。