2013-04-27 245 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是錯誤的。