2014-03-20 6 views
0

У меня проблема с подсчетом флажков, которые находятся в разных div. Он должен учитывать, если в каждом div установлен хотя бы один флажок, и когда есть, он активирует кнопку отправки, иначе кнопка отправки неактивна.JQuery как подсчитать флажки из разных divs

<div id="collapseOne"> 
    <span class="custom-checkbox addspace pull-left"> 
    <input type="checkbox"/> 
    <span class="box"><span class="tick"></span></span> 
</span> 
</div> 
<div id="collapseTwo"> 
    <span class="custom-checkbox addspace pull-left"> 
    <input type="checkbox"/> 
    <span class="box"><span class="tick"></span></span> 
</span> 
</div> 
$(document).ready(function() { 
    $a=$('#collapseOne input[type="checkbox"]').filter(':checked').length; 
    $b=$('#collapseTwo input[type="checkbox"]').filter(':checked').length; 

    if(($a && $b)>0){ 
     $("#button").addClass('active') 
    } 
    else{ 
     $("#button").removeClass('active').addClass('disabled') 
    } 

}); 
+0

Вы пробовали какие-либо решения? –

+0

** Typo? ** 'lenght' должен быть' length' – Anton

+0

'($ a && $ b)> 0'? Хммм. Опечатка снова? –

ответ

2

Вы должны использовать length вместо lenght

$a=$('#collapseOne input[type="checkbox"]').filter(':checked').length; 
$b=$('#collapseTwo input[type="checkbox"]').filter(':checked').length; 

, а также с помощью:

if($a > 0 && $b>0){ 

вместо:

if(($a && $b)>0){ 

Edit: Кроме того, необходимо, чтобы обернуть ваш код внутри change() функции для отслеживания, когда ваш вход был изменен:

$(document).ready(function() { 
    $('input[type="checkbox"]').change(function() { 
     $a = $('#collapseOne input[type="checkbox"]').filter(':checked').length; 
     $b = $('#collapseTwo input[type="checkbox"]').filter(':checked').length; 

     if (($a && $b) > 0) { 
      $("#button").addClass('active') 
     } else { 
      $("#button").removeClass('active').addClass('disabled') 
     } 
    }).change(); 
}); 

Fiddle Demo

+0

исправлено опечатки и предложение if, все еще не работает – Riff

+0

Пожалуйста, проверьте мое обновление :) – Felix

+0

Спасибо! Только то, что мне нужно. – Riff

Смежные вопросы