2013-04-27 199 views
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'); 
    } 
}); 

的问题是,去除任何复选框,使按钮无效,必要的,哪些按钮被激活,直到最后一枪任何复选框。

对不起,我的英语)

回答

0

您需要检查在启用/禁用多少个复选框之前进行检查。只有当任何复选框发生变化时,您才会做出反应。

你可以length这样的检查:

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

例在这里 - jsfiddle

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

+0

你救了我)非常感谢! – Anton 2013-04-27 12:49:10

0

您else子句中,您需要检查组中的所有复选框,看看其中是否被选中。你只是检查一个被改变的。

另外,在html中,id属性应该是唯一的,所以您在选择器中的#vibrat_vse_tovari_check_2'要么是错误的,要么是您给出的所有复选框都是相同的ID,那么html是错误的。