我如何切换'禁用'属性到我的下拉菜单的基础上,我有我的数组
How do I toggle the `disable` attribute to my dropdown-menu base on what I have in my array?
我有一个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>
我有一个数组我需要根据下拉菜单值
检查它 var enable = [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>
如何禁用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>
注意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
}
我完全重写了我的答案,因为我有一个更好的答案。要更改一个选项是否被禁用,给它一个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'
还可以将此应用于selected属性和其他属性。现在,您所要做的就是把它放在一个函数中并调用它。
相关文章:
- 如何将数字切成更小的数字以适合我的数组
- jQuery.hide()不适用于我的数组
- 为什么这个 fs.readFile 循环没有将其结果推送到我的数组
- 获取我的数组中的每个 ID 映像 src
- 我想重新排列我的数组和其他数组一样,这个数组是键和值
- 无法将所有位置值保存到我的数组中
- 为什么我的数组长度没有增加
- 如果他们不这样做,就从我的数组中删除东西't没有前缀
- 为什么我的jQuery.map不能在这里组合我的数组
- 是php json_encode&AJAX破坏了我的数组
- 我们可以发送数据到控制器,直到我的数组变空
- 为什么我的数组没有按照将对象推入数组的方式排序
- 将一个元素附加到我的数组中
- 我的数组中的每个元素都被最后一个元素推入覆盖
- 如何在桌面上打印我的数组并替换为排序数组
- 为什么我的数组无法使用 innerhtml
- 为什么我的数组在 Javascript 中分离出来
- 我的数组子类不调用超构造函数
- Javascript 正则表达式来匹配我的数组中的表情符号
- 为什么我的数组在我的 savetime 函数中未定义,但在其他函数中正常运行