我有一个包含5个选项的下拉菜单。
@{
ViewBag.Home = "active";
}
我有数组,我需要根据我的下拉菜单值检查
<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>
我想制作这个
var enable = [1,3,5];
如何禁用我的2和4选项?
我只想启用1,3和5。
我有点卡在这里。
<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" > 5 <option>
</select>
有人可以在这里给我一点推动吗?
答案 0 :(得分:2)
您可以在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>
请注意,disabled =“disabled”是XHTML样式。正如其他人发布的那样,普通的残疾人自己也能正常工作。
如果您的禁用选项始终相同,则可以使用。但是如果你想使用jQuery来禁用不在数组中的所有选项,你可以这样做:
var array = [1, 3];
$('#dd option').prop('disabled', true); // Disables all
for (var i in array) { // Iterates over array
$('#dd option[value="' + array[i] + '"]').prop('disabled', false); // Enable this one option
}
答案 1 :(得分:1)
我完全重写了我的这个答案,因为我有更好的答案。要更改选项是否已禁用,请为其指定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');
}
请注意,这可以回收用于类似的事情。
setAttribute();
函数有两个字符串:要更改的属性/属性(即选中,禁用)及其值。所以
.setAttribute('disabled', 'disabled');
出现
disabled='disabled'
您也可以将此应用于选定的和其他属性。现在,您所要做的就是在函数内部进行操作并调用它。