在jquery中按类名循环复选框

use*_*774 4 checkbox jquery

我需要遍历所有复选框以设置按钮是否禁用。如果复选框之一被选中,则该按钮被启用。但是看起来我的代码没有遍历复选框。未显示每个函数内的警报。如何循环遍历具有相同类名的复选框组中找到了循环方法

有我的代码:

function setButton() {

                alert('line 24');
                var blnDisable = true;

                ///sf/ask/2485479041/
                $('.chkItem').each(function (index, obj) {
                    if (obj.checked == true) {
                        alert('line 30');
                        blnDisable = false;
                    }

                });
                alert('disable=' + blnDisable);
                    $("#btnDownload").attr("disabled", blnDisable);

            }
Run Code Online (Sandbox Code Playgroud)

Nei*_*eil 6

这将使它检查是否有任何复选框被选中。如果是,它将启用复选框,否则将禁用它。最后,我将它分配给一个函数,以便它可以在页面加载时运行。这很重要,因此它会自动检查是否应在页面加载时启用下载按钮。

<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>
Run Code Online (Sandbox Code Playgroud)