将禁用的选定属性放入变量中选择框的匹配值

时间:2015-04-18 15:00:58

标签: javascript jquery

我有这个选择框(参见下文)

<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”。

1 个答案:

答案 0 :(得分:0)

你应该使用

$(this).removeAttr("disabled");
$(this).removeAttr("selected");
来自jQuery文档的

http://api.jquery.com/removeattr/

并且为了设置属性,它一次需要1个属性名称,因此您可以使用:

$(this).attr("disabled", "");
$(this).attr("selected", true);

https://api.jquery.com/attr/