对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);
}
});
});
无论如何,当达到最大值时也会禁用其他的,反之亦然?
答案 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 强>