0

http://gyazo.com/2f4603d99ab60b2302f51bedf1ac600c.png?1367064154

现在我有以下代码:

$('input[type=checkbox]#vibrat_vse_tovari_check_2').change(function () {
    if ($(this).is(':checked')) {
        $('.dobavit_v_korzinu_vibr_tovari').addClass("active_cart_but_bolsh");
        $(".dobavit_v_korzinu_vibr_tovari").prop('disabled', false);
    } else {
        $(".dobavit_v_korzinu_vibr_tovari").prop('disabled', true);
        $('.dobavit_v_korzinu_vibr_tovari').removeClass('active_cart_but_bolsh');
    }
});

问题是任何复选框的删除都会使按钮处于非活动状态并且是必要的,在任何复选框的最后一次拍摄之前哪个按钮处于活动状态。

对不起我的英语不好)

4

2 回答 2

0

您需要先检查选中了多少个复选框,然后才能启用/禁用它。只有当任何复选框发生变化时,您才会做出反应。

您可以length像这样检查它:

if($('input[type=checkbox]#vibrat_vse_tovari_check_2:checked').length >= x)

这里的例子 - jsfiddle

此外,ID 应该是唯一的。改用类。

于 2013-04-27T12:17:59.030 回答
0

在您的 else 子句中,您需要检查组中的所有复选框以查看是否选中了其中的任何一个。您只检查已更改的那个。

此外,在 html 中,id 属性应该是唯一的,因此您#vibrat_vse_tovari_check_2'在选择器中的选择是错误的,或者如果您为所有复选框提供了相同的 ID,则 html 是错误的。

于 2013-04-27T12:16:11.950 回答