以下#sel为select的id
单选框:
一:通过value值设置默认选中
方法一:
$("#sel").val('xx');//设置value为xx的option选项为默认选中
方法二:
$("#sel option[value='xx']").prop("selected",true);
$("#sel option[value='xx']").prop("selected",selected);//两种方法效果一样
二:通过text设置默认选中
var selected="锤子";
$("#sel").find("option").each(function(){
if($(this).text() == selected) {
$(this).attr("selected",true);
}
});
踩坑的方法:
一:
$("#sel").find("option:contains('xx')").attr("selected",true);
$("#sel").find("option:contains('xx')").prop("selected",true);
通过判断是否包含某个值设置,如果有两个字符串开头的字母相同会造成不精确的问题
(比如’中国’/‘中国人’,通过‘中国’设置时,会默认选择最后一个包含’中国’的字符串)
二:
$("#sel").find("option[text='xx']").attr("selected",true);
要是想通过option的文本设定的话,这个方法不合适。这种写法相当于option含有text这个属性
多选框:
<select id="sel" multiple="multiple">
<option value="1">aa</option>
<option value="2">bb</option>
<option value="3">cc</option>
</select>
$("#sel").val(Array('1','2'));//设置value=1和2的选项为默认选中