<select id="aselect">
<option value="1">a</option>
<option value="2">b</option>
<option value="3">c</option>
<option value="4">d</option>
</select>
select相关的操作还蛮麻烦的,在这里整理一下
获得当前选中
console.log($("#aselect").val());//当前的值
console.log($("#aselect").find("option:selected").text());//当前text
//当前的index(以下4个都可以)
console.log($('#aselect').prop('selectedIndex'));
console.log($('option:selected', '#aselect').index());
console.log($("#aselect").find("option:selected").index());
console.log($('#aselect option').index($('#aselect option:selected')));
设置当前选中
设置val为选中
$("#aselect").prop("value","2");
$("#aselect").val("4");
$("#aselect").get(0).value = 3;
$("#aselect option[value='2']").attr("selected", true);
设置text为选中
网上看到这个方法但没成功,我猜是jquery的版本问题1
$("#aselect").find("option[text='b']").attr("selected",true);
没找到什么好方法,自己写了个
$("#aselect option").each(function(){
if ($(this).text()=="b") {
$(this).attr("selected",true);
}
})
设置index为选中
$("#aselect").get(0).selectedIndex=2;
$("#aselect option").eq(2).attr("selected",true);
好多方法都是选择器的改变,掌握jquery选择器很重要
- 试验所用jquery版本:jquery-1.11.2.min.js ↩