我想知道如何使用jquery在我的页面上的所有选择标签中选择第一个选项。
尝试了这个:
$('select option:nth(0)').attr("selected", "selected");
但没有工作
答案 0 :(得分:188)
试试这个......
$('select option:first-child').attr("selected", "selected");
另一种选择是这样,但它一次只适用于一个下拉列表,如下所示:
var myDDL = $('myID');
myDDL[0].selectedIndex = 0;
看一下这篇关于如何根据价值进行设置的帖子,它很有意思但不会帮助你解决这个具体问题:
答案 1 :(得分:13)
你的选择器错了,你可能正在寻找
$('select option:nth-child(1)')
这也可以:
$('select option:first-child')
答案 2 :(得分:10)
针对RSolgberg的Ana替代解决方案,如果存在,则触发'onchange'
事件:
$("#target").val($("#target option:first").val());
答案 3 :(得分:5)
$("#DDLID").val( $("#DDLID option:first-child").val() );
答案 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);