一个坑,写在前面
网上有部分朋友在增加option默认选中属性的这样写:
$option.attr("select","selected");
可能是笔误,我尝试过很多次,发现这种写法根本无效。
正确的写法:
<option value="1">待维修</option>
<option value="2">维修中</option>
<option value="3">维修完成</option>
<option value="4">维修失败</option>
<option value="5">业务取消</option>
$("#repairStatus option[value='"+status+"']").attr("selected","true");
很简单,一步搞定。
方法二,使用js:
var selectTag = document.getElementById("repairStatus");
var options = selectTag.getElementsByTagName("option");
for(var i=0;i<options.length;i++){
var value = options[i].value;
if(value==status){
options[i].setAttribute("selected","true");
}
}
网上有部分朋友在增加option默认选中属性的这样写:
$option.attr("select","selected");
可能是笔误,我尝试过很多次,发现这种写法根本无效。
正确的写法:
$option.attr("selected","true");
正文
<select id="repairStatus" name="repairStatus"><option value="1">待维修</option>
<option value="2">维修中</option>
<option value="3">维修完成</option>
<option value="4">维修失败</option>
<option value="5">业务取消</option>
</select>
如题,假设动态获取了后台传入的值,存入变量status中,现在要让value=status的option设定为选中。
方法一,使用jQuery的子类选择器:
因为是变量status,所以要配合字符串拼接:$("#repairStatus option[value='"+status+"']").attr("selected","true");
很简单,一步搞定。
方法二,使用js:
var selectTag = document.getElementById("repairStatus");
var options = selectTag.getElementsByTagName("option");
for(var i=0;i<options.length;i++){
var value = options[i].value;
if(value==status){
options[i].setAttribute("selected","true");
}
}
顺带一提,如果使用easyUI的combobox的话,可以增加一个value设定默认选中:
$select.combox({value:status});
(指定valueField=status的选项默认选中)