可能重复:
jQuery / Programmatically Select an Option in Select Box
我想知道,是否可以直接从jQuery中选择selectbox / combobox中的选项。例如,我想在select中选择值为5的选项,其值为1到10.
我能想到的唯一解决方案是删除所有选项并使用正确的选定值重新创建它们,但这样做有点效率。
答案 0 :(得分:51)
只需将选择框视为任何其他输入元素:
$("#MySelectBox").val("5");
答案 1 :(得分:14)
您可以通过在selected
代码中添加<option>
属性来完成此操作。
$(document).ready(function () {
$('#btn2').click(function(){
$('#sel1 option[value=2]').attr('selected','selected');
});
$('#btn3').click(function(){
$('#sel1 option[value=3]').attr('selected','selected');
});
$('#btn5').click(function(){
$('#sel1 option[value=5]').attr('selected','selected');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
<select id="sel1">
<option value='1'>Option 1</option>
<option value='2'>Option 2</option>
<option value='3'>Option 3</option>
<option value='4'>Option 4</option>
<option value='5'>Option 5</option>
<option value='6'>Option 6</option>
<option value='7'>Option 7</option>
<option value='8'>Option 8</option>
<option value='9'>Option 9</option>
</select>
<input id="btn2" type=button value='Select 2' />
<input id="btn3" type=button value='Select 3' />
<input id="btn5" type=button value='Select 5' />
答案 2 :(得分:6)
答案 3 :(得分:2)
您所要做的就是将属性selected
设置为true
或selected
。
var arrayOfOptions = $('#mySelect option') //will return an array of options in the order they are found
只需迭代它们,例如:
for(var i=0; i<arrayOfOptions.length; i++) {
var opt = arrayOfOptions[i];
//feel free to check the index of i here if you want to set
//a particular index to selected or a range.
//similarly the range can be passed in as a function parameter.
$(opt).attr('selected','selected');
}
答案 4 :(得分:0)
如果我理解正确,您需要选择值为5的选项并将其标记为已选中。如果是这样,那应该是它:
$("#selectBox[value='5']").attr('selected', 'selected');
这也应该有效:
$("#selectBox").attr('value', 5).attr('selected', 'selected');