如何使用jQuery选择下拉菜单中的第一个元素?


Answers:


193

试试看...

$('select option:first-child').attr("selected", "selected");

另一个选择是这样,但是它一次仅适用于一个下拉列表,如下所示:

var myDDL = $('myID');
myDDL[0].selectedIndex = 0;

看一下这篇关于如何基于价值进行设置的帖子,它很有趣,但是对于这个特定问题没有帮助:

使用jQuery更改下拉列表的选定值


只需更改myID即可选择,因为我要所有选择标签
Amr Elgarhy 2009年

26
现在在jQuery中,您可以通过.prop()方法访问属性。因此,您可以使用$("select").prop("selectedIndex",0);一种快速的方法在所有下拉菜单中选择第一个选项。
CBarr 2012年

3
您是否知道仅通过设置属性,这是否会在所有浏览器中触发“更改”事件?它似乎可以在Chrome中使用,但尚未对其进行广泛的测试。我在考虑添加另一个$('select').trigger('change');以防万一。谢谢!
Brian Armstrong 2012年

3
var myDDL = $('myID')应该在选择器中具有哈希成为var myDDL = $('#myID')
user1069816 2014年

1
此方法对我来说效果很好:$('select option').first().prop('selected',true);
Lorenzo Magon

13

您的选择器有误,您可能正在寻找

$('select option:nth-child(1)')

这也将起作用:

$('select option:first-child')

3
CSS nth-child选择器索引从1开始,而不是0
Sergey



4

您想要的可能是:

$("select option:first-child")

这是什么代码

attr("selected", "selected");

正在将“选定”属性设置为“选定”

如果要选择的选项,无论它是第一个孩子,选择器都是:

$("select").children("[selected]")

1
如果您使用的是jQuery attrprop
1.6+,请

2

我之所以回答是因为先前的答案已停止使用最新版本的jQuery。我不知道它什么时候停止工作,但是文档说.prop()自jQuery 1.6以来就是获取/设置属性的首选方法。

这是我如何使其工作(使用jQuery 3.2.1):

$('select option:nth-child(1)').prop("selected", true);

我正在使用基因敲除js,并且上面的代码没有触发变更绑定,所以我在最后添加了.change()。

这是我需要的解决方案:

$('select option:nth-child(1)').prop("selected", true).change();

请参阅以下文档中的.prop()注释:http ://api.jquery.com/prop/


2

这是一个javascript适用于大多数情况的简单解决方案:

document.getElementById("selectId").selectedIndex = "0";

1

如果要检查所选选项的文本,而不管其第一个子项。

var a = $("#select_id option:selected").text();
alert(a); //check if the value is correct.
if(a == "value") {-- execute code --}

节省了我第二次搜索。这几乎是我一直在寻找的,尽管我对更改值比对它更感兴趣。 $('#myID option:selected').text('NEW STRING');
Ricky Payne

1
    var arr_select_val=[];

    $("select").each(function() { 
        var name=this.name;
            arr_select_val[name]=$('select option:first-child').val();
    });


// Process the array object
     $('.orders_status_summary_div').print(arr_select_val);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.