如何使用jquery在组合框中选择一个条目?

时间:2011-06-03 12:39:50

标签: jquery select jquery-selectors drop-down-menu

我有一个HTML组合框,有两个条目。一个是空白的,另一个是文本。我不知道这些值是什么。

无论如何使用jquery(给定上面的const)我可以在组合框中以程序方式选择带有文本的条目吗?

4 个答案:

答案 0 :(得分:1)

这将选择第一个非空选项

$("#mySelectBox").val(function() {
  for (var i = 0; i<this.options.length; i++) {
    if (this.options[i].text != "") return this.options[i].value;
  }
});

如果文字可以包含空格,则可以$.trim(this.options[i].text)

这是一个通用的解决方案,如果您确定总是要选择第二个选项,当然存在一种更简单的方法 - 请参阅mcgrailm's answer

答案 1 :(得分:1)

这是一种方法

假设这是html

<select size="5" id="foobar">
   <option value="">foo</option>
    <option value="bar">bar</option>
</select>

这是jquery

$('#foobar option:nth-child(2)').prop('selected',true);

这是一个working demo

答案 2 :(得分:0)

如何对列表进行排序:

$("#combo").html($("#combo option").sort(function (a, b) {
    return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
}));

但出于兴趣,为什么选项没有选定的值 - 它是动态创建的吗?

答案 3 :(得分:0)

Pure JQuery选择器,用于选择第一个非空选项(基于选项的文本):

$('#myDropDown option:not(:empty):first')

使用以下示例:

<select size="5" id="foobar">
    <option value="emptyoption"></option>
    <option value="bar">bar</option>
</select>

这会选择“bar”选项:

$('#foobar option:not(:empty):first').prop('selected',true);