Javascript 如何根据数组中的内容将“禁用”属性切换到下拉菜单?

Javascript 如何根据数组中的内容将“禁用”属性切换到下拉菜单?,javascript,jquery,drop-down-menu,Javascript,Jquery,Drop Down Menu,我有5个选项的下拉菜单 <select id="dd"> <option value="1"> 1 <option> <option value="2"> 2 <option> <option value="3"> 3 <option> <option value="4"> 4 <option> <option value="5"> 5 <option>

我有5个选项的下拉菜单

<select id="dd">
 <option value="1"> 1 <option>
 <option value="2"> 2 <option>
 <option value="3"> 3 <option>
 <option value="4"> 4 <option>
 <option value="5"> 5 <option>
</select>
如何禁用我的2和4选项

我只想启用1、3和5

我有点困在这里了

$("#dd > option").each(function() {
    if(  inArray(this.val(),studentsArray ) !== -1 ){
        //prop the disabled attribute
    }
});

有人能帮我推一下吗?

你可以在HTML中这样做:

<select id="dd">
  <option value="1"> 1 <option>
  <option value="2" disabled="disabled"> 2 <option>
  <option value="3"> 3 <option>
  <option value="4" disabled="disabled"> 4 <option>
  <option value="5" disabled="disabled"> 5 <option>
</select>

我完全重新写下我的答案,因为我有一个更好的答案。若要更改某个选项是否已禁用,请为其指定一个Id,或者如果有多个选项要禁用,请为它们指定相同的类。对于Id,要禁用的一个元素只能执行以下操作:

variableName=document.getElementById('id');
//where 'id' in the line above is the id of the option to be disabled
variableName.setAttribute('disabled, 'disabled');
或者对于一个类来说,它是非常相似的

optionstobechanged=document.getElementsByClassName('class');
//where 'class' in the line above is the name of the class given to the items to be disabled
for(i=0; i<optionstobechanged.length; i++){
    optionstobechanged[i].setAttribute('disabled', 'disabled');
}
函数接受两个字符串:要更改的属性/属性di.e。已选择、已禁用及其值。所以

.setAttribute('disabled', 'disabled');
作为

disabled='disabled'

您还可以将此应用于选定属性和其他属性。现在,你所要做的就是把它装配到一个函数中并调用它。

你的问题可以通过使用这个词的简单谷歌搜索得到答案。在提问之前,请先进行研究。@Kathy,我知道如何用html进行研究。刚刚添加了disable属性。但我只是不知道如何循环我所有的选项,并触发它。如果这里有人满意地回答了你的问题,请花时间通过选择答案旁边的复选框来接受他们的答案。如果没有令人满意的答案,请编辑您的问题以使其更清晰。现在,有人知道我在说什么。OP,您似乎未选择此作为您选择的答案。这个答案有问题吗?小提琴证明我的解决方案有效:谢谢你的建议。这并不能回答问题。该问题询问如何禁用“选择选项”-您的解决方案将完全隐藏它们。@MatteoC define“禁用它们”。考虑到他的投票和评论,他显然接受了这一点。@Chameleon先生:禁用它们意味着在选项中添加一个禁用的属性。OP在最初发布时接受了我的解决方案,但在今天未接受。请注意,没有绿色复选标记。
setAttribute();
.setAttribute('disabled', 'disabled');
disabled='disabled'