我们如何使用jQuery在'Select'中选择'Option'?
$('#s_choice').selectedIndex = 1;//select 2nd item
不工作。 JsFiddle在http://jsfiddle.net/yesprasoon/pduX7/
答案 0 :(得分:3)
只需添加刷新,您也可以在jquery对象上使用prop
或访问DOM元素属性,如$('#s_choice')[0].selectedIndex
$('#s_choice').prop('selectedIndex', 1);
$('#s_choice').selectmenu('refresh');
或者直接链接
$('#s_choice').prop('selectedIndex', 1).selectmenu('refresh').change();
原因是,selectmenu是一个JQM小部件,因此在实际的select元素上设置属性后,您需要对其进行刷新以刷新小部件。
Here是文档。
答案 1 :(得分:1)
尝试:
$('#s_choice')[0].selectedIndex = 1;
或者:
$('#s_choice').prop('selectedIndex', 1);
或者简单地说:
document.getElementById('s_choice').selectedIndex = 1;
您遇到的问题是selectedIndex
是DOM节点的属性,而不是jQuery对象。
答案 2 :(得分:1)
为您提供不同的ID或类别,然后您可以$('#s_choice').find('#option3').attr("checked", true)
答案 3 :(得分:1)
[更新&小提琴补充]
试试这个,肯定会改变你的选择并更新ui:
$('#s_choice').children(':eq(1)').attr('selected','selected').change();
将索引放在方程式中的括号中,例如:..(':eq(0)')..
答案 4 :(得分:1)
在你的小提琴中,我改变了两件事:
$('#s_choice').selectedIndex = 1;
更改为$('#s_choice').prop("selectedIndex", 1);
。要使selectedIndex
像你实现的那样工作,你需要一个DOM对象,而不是一个jQuery对象。onLoad
到no wrap - in <body>
的位置的选项。这意味着您的脚本将放在正文中。必须始终放置脚本以使其工作。所以不需要refresh
。对于诸如设置默认值之类的微不足道的更改,您无需使用刷新方法。 而且瞧!它有效:)