选中复选框

时间:2013-04-27 12:04:26

标签: javascript jquery

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');
    }
});

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

对不起我的英文)

2 个答案:

答案 0 :(得分:0)

<\ n>在你的else子句中,你需要检查组中的所有复选框,看看是否有任何复选框。您只是检查已更改的那个。

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

答案 1 :(得分:0)

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

您可以使用length进行检查:

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

此处示例 - jsfiddle

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