使用jquery计算所选复选框

时间:2016-05-20 14:23:53

标签: javascript jquery

对js来说有点新,并且在计算所选框时遇到问题,任何人都可以看到我做错了什么?

小提琴:with statement

JS

$(document).ready(function () {
    var maxAllowed = 3;
    $(".rmax").html(maxAllowed);
    $(".subscribtion-content input.checkbox").change(function () {
        var cnt = $(".subscribtion-content input.checkbox:checked").length;
        if (cnt > maxAllowed) {
            $(this).prop("checked", "");
            $(".rcount").html(cnt);
        }
    });
});

无论如何,当达到最大值时也会禁用其他的,反之亦然?

1 个答案:

答案 0 :(得分:3)

您对所选盒子的计数是完美的。您可以在达到最大值时禁用其他人,如下所示。

$(document).ready(function () {
    var maxAllowed = 3;
    $(".rmax").html(maxAllowed);

    $(".subscribtion-content input.checkbox").change(function () {
        var checkBox = $(".subscribtion-content input.checkbox")
        var cnt = $(".subscribtion-content input.checkbox:checked").length;
        if (cnt == maxAllowed) {
            checkBox.not(':checked').prop('disabled', true);
        } else {
            checkBox.not(':checked').prop('disabled', false);
        }

        $(".rcount").html(cnt);
    });
});

<强> UPDATED FIDDLE