2014-08-27 33 views
4

我想淡出一個div一旦一定量的複選框被選中但我無法讓它工作。我試過val長度但我相信我不是拉正確值的方式複選框?檢查一定數量的複選框後調用函數

$('input:checkbox').change(
    function(){ 
     if ($(this).is(':checked').val > 2) { 
      alert('checked'); 
     } 
    }); 

任何輸入將不勝感激。謝謝!

回答

8

您可以使用選擇器並檢查找到的元素數量(length表示這一點)。

$('input:checkbox').change(function() { 
    var numberChecked = $('input:checkbox:checked').length; 
    if (numberChecked > 2) { 
     // Fade your div out here 
    } 
}); 
+0

完美,這是有道理的現在。謝謝! – Myoji 2014-08-27 18:46:43

2

你可以試試這個:

$('input:checkbox').change(
function() { 
    var checkboxesChecked = 0; 
    $('input:checkbox').each(function() { 
     if ($(this).is(':checked')) { 
      checkboxesChecked++; 
     } 
    }); 

    if (checkboxesChecked > 2) { 
     alert('More than 2 checkboxes are checked.'); 
    } 
});