我需要遍历所有复选框以设置按钮禁用与否。如果选中其中一个复选框,则启用该按钮。但是看起来我的代码没有遍历复选框。每个函数内的警报都没有显示。我在 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);
}
答案 0 :(得分:1)
这将检查是否已选中任何复选框。如果是这样,它将启用复选框,否则它将禁用它。最后,我将它分配给一个函数,以便它可以在页面加载时运行。这很重要,因此它会自动检查是否应该在页面上启用下载按钮。
<input type="checkbox" class="chkItem" />one<br />
<input type="checkbox" class="chkItem" />two<br />
<input type="checkbox" class="chkItem" />three<br />
<button id="btnDownload">download</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
var checkButton = function () {
blnDisable = true;
$('.chkItem').each(function (index, obj) {
if (this.checked === true) {
blnDisable = false;
}
});
$("#btnDownload").attr("disabled", blnDisable);
};
$(".chkItem").on("change", checkButton);
checkButton();
</script>