我有这个选择框(参见下文)
<select name="test">
<option value="option1" disabled selected">Option 1</option>
<option value="option2">Option 2</option>
<option value="option3">Option 3</option>
</select>
和这个jquery代码(参见下文)
var valueofselectbox = "option3";
//loop each option from this select box
$('select option').each(function(){
//remove all the disabled and selected attribute from all the option within this select box.
$(this).attr("disabled", "");
$(this).attr("selected", "");
//if the variable valueofselectbox is equal to this value then add disabled and selected attribute to this option
if(valueofselectbox == $(this).val(){
$(this).attr("disabled selected");
}
});
现在您可以从上面看到,首先我有一个变量名valueofselectbox然后接下来,我遍历该选择框内的所有选项,然后从该选择框中的每个选项中删除禁用和选择的属性,然后添加如果其值(选项值)等于varable但看起来不起作用,则禁用和选择属性,而是从控制台出现此错误“Uncaught ReferenceError:selected is not defined”。
答案 0 :(得分:0)
你应该使用
$(this).removeAttr("disabled");
$(this).removeAttr("selected");
来自jQuery文档的: http://api.jquery.com/removeattr/
并且为了设置属性,它一次需要1个属性名称,因此您可以使用:
$(this).attr("disabled", "");
$(this).attr("selected", true);