【发布时间】:2017-03-10 04:55:54
【问题描述】:
我需要遍历所有复选框来设置按钮是否禁用。如果选中其中一个复选框,则该按钮已启用。但是,看起来我的代码没有通过复选框循环。每个函数里面的警告没有显示。我在 How to loop through group of check boxes that have same class name?找到了循环方法
这是我的代码:
function setButton() {
alert('line 24');
var blnDisable = true;
//https://stackoverflow.com/questions/35506843/how-to-loop-through-group-of-check-boxes-that-have-same-class-name
$('.chkItem').each(function (index, obj) {
if (obj.checked == true) {
alert('line 30');
blnDisable = false;
}
});
alert('disable=' + blnDisable);
$("#btnDownload").attr("disabled", blnDisable);
}
【问题讨论】:
-
obj将是一个 jQuery 对象 - jQuery 对象没有checked属性 - 使用this的实例 -if (this.checked) -
@tymeJV Im pretty sur
obj将是一个 HTML 元素。 @op 什么时候调用 setButton? -
或内置jquery“prop”函数:
if(obj.prop("checked")) -
@Karl-AndréGagnon -- 是的,你是对的,不知道为什么我认为它是一个 jQ 对象。