如何使用jquery选择下拉列表中的第一个元素?

时间:2009-09-08 15:09:02

标签: javascript jquery html

我想知道如何使用jquery在我的页面上的所有选择标签中选择第一个选项。

尝试了这个:

$('select option:nth(0)').attr("selected", "selected"); 

但没有工作

9 个答案:

答案 0 :(得分:188)

试试这个......

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

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

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

看一下这篇关于如何根据价值进行设置的帖子,它很有意思但不会帮助你解决这个具体问题:

Change the selected value of a drop-down list with jQuery

答案 1 :(得分:13)

你的选择器错了,你可能正在寻找

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

这也可以:

$('select option:first-child')

答案 2 :(得分:10)

针对RSolgberg的Ana替代解决方案,如果存在,则触发'onchange'事件:

$("#target").val($("#target option:first").val());

How to make first option of <select > selected with jQuery?

答案 3 :(得分:5)

$("#DDLID").val( $("#DDLID option:first-child").val() );

For Complete Drop Down List Operations using Jquery

答案 4 :(得分:4)

你想要的可能是:

$("select option:first-child")

这段代码

attr("selected", "selected");

正在做的是将“selected”属性设置为“selected”

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

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

答案 5 :(得分:2)

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

这就是我使用它的方法(使用jQuery 3.2.1):

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

我正在使用knockoutjs并且更改绑定没有使用上面的代码触发,因此我将.change()添加到最后。

这是我解决方案所需要的:

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

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

答案 6 :(得分:2)

这是一个简单的javascript解决方案,在大多数情况下都可以使用:

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

答案 7 :(得分:1)

如果你想检查所选选项的文本,无论它是第一个孩子。

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

答案 8 :(得分: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);