我有一个填充选择框的脚本。这意味着我不知道该框中的值或数字项。
我想创建另一个脚本来模拟选择该框中第N个项目的行为。我已经阅读过,无法弄清楚如何做到这一点。我确信有一个简单的选择。
答案 0 :(得分:2)
使用selectedIndex
属性:
$('select').prop('selectedIndex', 3);
您可以链接change()
方法来触发任何change()
事件:
<强>段:强>
$('select').change(function() {
console.log('changed');
});
$('select').prop('selectedIndex', 3).change();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option>Not me</option>
<option>Not me</option>
<option>Not me</option>
<option>Select me!</option>
<option>Not me</option>
</select>
&#13;
答案 1 :(得分:1)
您可以使用eq()
方法选择匹配集中的第N个项目。在那里,您可以将selected
的{{1}}属性设置为option
以选择它。试试这个:
true
请注意,$('#mySelect option').eq(2).prop('selected', true).trigger('change');
的索引是从零开始的,因此上面会选择第三个eq()
元素。
另请注意,以编程方式选择option
时,不会引发任何事件。如果您需要该活动,则需要使用option
手动启动该活动。
答案 2 :(得分:0)
$('#mySelect').change(function(){
var selectedOption = $(this).prop('selected', true)
})
答案 3 :(得分:0)
如果您已将select元素作为对象或循环。
$('select').each(function() {
if( /*Some Filter*/ ){
$(this).val($(this).find('option').eq(2).val()).trigger('change');
}
});
它对我有用。
在Chrome和IE上测试过。
答案 4 :(得分:0)
$('select').change(function() {
console.log('changed');
});
$('select').prop('selectedIndex', 3).change();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option>Not me</option>
<option>Not me</option>
<option>Not me</option>
<option>Select me!</option>
<option>Not me</option>
</select>
&#13;