2016-02-23 2 views
1

Я проверяю все флажки, где он проверяет все флажки после их проверки и наоборот, для снятия отметки.Как снять флажок selectall, если какой-либо флажок не выбран?

Как снять отметку с флажка «Проверить все», если какой-либо из этих флажков не выбран, и установите флажок «Проверить все», если выбраны все флажки.

<form action="#"> 
    <p><label><input type="checkbox" id="checkAll"/> Check all</label></p> 

    <fieldset> 
     <legend>Loads of checkboxes</legend> 
     <p><label><input type="checkbox" /> Option 1</label></p> 
     <p><label><input type="checkbox" /> Option 2</label></p> 
     <p><label><input type="checkbox" /> Option 3</label></p> 
     <p><label><input type="checkbox" /> Option 4</label></p> 
    </fieldset> 
</form> 
$("#checkAll").change(function() { 
    $("input:checkbox").prop('checked', $(this).prop("checked")); 
}); 

Fiddle demo

ответ

5

Если добавить обработчик щелчка к нижним флажков вы можете сравнить общее количество флажков количеству проверяемых флажков. Попробуйте это:

$('.checkbox').change(function() { 
    $('#checkAll').prop('checked', $('.checkbox').length == $('.checkbox:checked').length); 
}) 

Updated fiddle

+0

Если все флажки выбраны, нажав каждый флажок, проверить все не проверено – Raviteja

+0

@Hazard хороший момент, обновляется. –

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