gpt4 book ai didi

javascript - 使用 JQuery 动态禁用 CheckBox

转载 作者:行者123 更新时间:2023-11-30 16:26:53 29 4
gpt4 key购买 nike

我在一个表单中有一组复选框。我正在遍历集合以检查和/或禁用复选框。检查工作正常;但是,我在检查复选框是否被禁用时遇到问题。即使启用了复选框,它也始终返回 false。我一遍又一遍地查看代码,但看不到任何可能导致这种情况发生的因素。

Partial HTML File

 <label class="col-lg-3"><div style="padding-left:5px;">View Department</div></label>
<div class="col-lg-1"><input id="Accounting" name="Accounting" type="checkbox" /> </div>
<label class="col-lg-3"> Finance</label>
<div class="col-lg-1"><input id="Finance" name="Finance" type="checkbox" /></div>
<label class="col-lg-3"> Marketing</label>
<div class="col-lg-1"><input id="Marketing" name="Marketing" type="checkbox" /></div>
<div class="col-lg-12">
<hr style="width:100%;" />
</div>

//这就是我禁用复选框的方式

 var collection = document.getElementById('DepartmentClassModal').getElementsByTagName('input');
if (typeof (e) !== 'undefined') {
if (e) {
switch (e) {
case 'Education':
for (var i = 0; i < collection.length ; i++) {
if ((collection[i].id == 'Accounting') || (collection[i].id == 'Finance')) {
collection[i].disabled = true
} else {
collection[i].disabled = false
}
}
break;
}
}
}

//渲染HTML

<input checked="checked" id="Accounting" name="Accounting" type="checkbox" disabled>

//检查字段是否被禁用

var isAccountingDisabled = $('#Accounting').is(':disabled');

//上面的代码总是返回false。这是为什么?

我添加了复选框属性的屏幕截图,显示该复选框已自动选中和禁用。即使复选框呈现为禁用状态,该属性也不会将其显示为已禁用。

enter image description here

最佳答案

不能有多个具有相同 id 的元素。在您的循环结构中,您也可以将循环索引添加到 id,以便它是唯一的。 (会计 1,会计 2...)

把你的代码改成这样

var checkBoxesCollection = $("#yourparentelement").find("input:checkbox[name='Accounting']");

$.each(checkBoxesCollection, function(){
if (this.disabled) {
};
});

http://jsfiddle.net/eanamztz/

关于javascript - 使用 JQuery 动态禁用 CheckBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34009358/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com