如何使用索引始终在HTML选择框中选择第一项?我不想使用val()来选择。
答案 0 :(得分:7)
您可以使用:first选择器:
var firstOption = $('#selectId option:first');
然后,您可以按firstOption.val();
获取选项值,或者按firstOption.text();
并将其设置为选中状态:
//firstOption.prop('selected', true); since jQuery 1.6 is known to be faster way
firstOption.attr('selected', true);
编辑:如果您想要的唯一选择是设置所选选项,请使用selectedIndex属性:
$('#selectId').attr('selectedIndex', 0);
答案 1 :(得分:1)
$('select option:first').get(0).select();
或:
$('select option:first').attr('selected','selected');
假设通过选择,您的意思是将第一个选项设为选定的。
答案 2 :(得分:1)
$("select option:first").attr('selected','selected');
答案 3 :(得分:0)
ATTR( '选择', '选择');
误解了jQuery正在做些什么。 attr
设置DOM属性,而不是HTML属性值;实际设置selected
HTML属性不一定会更改选项的选择性,因为该属性仅控制字段的默认状态。 (由于错误而在IE中除外。)
attr('selected', true)
会更合适。但是,由于任何非空字符串在布尔上下文中求值为true
,因此上述内容仍然有效。
无论如何......有时最好使用普通的DOM属性,而不是将所有内容强加到jQuery提供的操作集中。 jQuery应该是JS和DOM的补充,而不是它的完全替代品。您在评论中的建议:
$('#select1').get(0).selectedIndex= 0;
是一种更自然的方式来选择第一个选项IMO,并且比要求jQuery解析和实现选择器更快多。