Reputation: 9664
How can I check if all of my checkboxes are checked or unchecked with jquery,I have child and grandchild input elements-
codepen setup : http://codepen.io/Assert/pen/BLBjpk
<ul id="treeList">
<li>
<input type="checkbox" name="selectedRole"> mCRC
<ul>
<li>
<input type="checkbox" name="selectedRole"> STIVARGA Efficacy
<ul>
<li>
<input type="checkbox" name="selectedRole"> Long-Term Responders
</li>
<li>
<input type="checkbox" name="selectedRole"> STIVARGA in Clinical Practice
</li>
</ul>
</li>
<li>
<input type="checkbox" name="selectedRole"> STIVARGA AE Management
</li>
<li>
<input type="checkbox" name="selectedRole"> Dosing
</li>
<li>
<input type="checkbox" name="selectedRole"> Patient Communication
</li>
<li>
<input type="checkbox" name="selectedRole"> Case Studies
</li>
</ul>
<li>
<input type="checkbox" name="selectedRole"> GIST
</li>
Upvotes: 2
Views: 8085
Reputation: 115212
Use :checkbox
to get all checkbox then use the combination of :not()
and :checked
to filter out all unchecked checkbox.
if($('#treeList :checkbox:not(:checked)').length == 0){
// all are checked
} else if($('#treeList :checkbox:checked').length == 0){
// all are unchecked
}
$('#treeList :checkbox').change(function() {
if ($('#treeList :checkbox:not(:checked)').length == 0) {
console.log('all are checked');
} else if ($('#treeList :checkbox:checked').length == 0) {
console.log('all are unchecked');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="treeList">
<li>
<input type="checkbox" name="selectedRole">mCRC
<ul>
<li>
<input type="checkbox" name="selectedRole">STIVARGA Efficacy
<ul>
<li>
<input type="checkbox" name="selectedRole">Long-Term Responders
</li>
<li>
<input type="checkbox" name="selectedRole">STIVARGA in Clinical Practice
</li>
</ul>
</li>
<li>
<input type="checkbox" name="selectedRole">STIVARGA AE Management
</li>
<li>
<input type="checkbox" name="selectedRole">Dosing
</li>
<li>
<input type="checkbox" name="selectedRole">Patient Communication
</li>
<li>
<input type="checkbox" name="selectedRole">Case Studies
</li>
</ul>
<li>
<input type="checkbox" name="selectedRole">GIST
</li>
</ul>
Upvotes: 9