Tengo varias casillas de verificación repartidas en varios divs. En todos los div separados tengo una casilla de verificación 'seleccionar todo'. Cuando se selecciona esa casilla de verificación, trato de seleccionar todas las demás relacionadas con ese div pertucular, y cuando anula la selección de 'seleccionar todo', anula la selección de los demás.
<div class="actions" id="actions" title="Actions"> <div> <div><input type="checkbox" name="action" id="" class="" value="0" /> Select All</div><br /> <div><input type="checkbox" name="action" id="" class="" value="1" /> <?php echo $lang["actions"][1]; ?></div><br /> <div><input type="checkbox" name="action" id="" class="" value="2" /> <?php echo $lang["actions"][2]; ?></div><br /> <div><input type="checkbox" name="action" id="" class="" value="3" /> <?php echo $lang["actions"][3]; ?></div><br /> </div> <div> <div><input type="checkbox" name="action" id="" class="" value="26" />Select All</div><br /> <div><input type="checkbox" name="action" id="" class="" value="27" /> <?php echo $lang["actions"][27]; ?></div><br /> <div><input type="checkbox" name="action" id="" class="" value="28" /> <?php echo $lang["actions"][28]; ?></div><br /> <div><input type="checkbox" name="action" id="" class="" value="29" /> <?php echo $lang["actions"][29]; ?></div><br /> <div><input type="checkbox" name="action" id="" class="" value="30" /> <?php echo $lang["actions"][30]; ?></div><br /> <div><input type="checkbox" name="action" id="" class="" value="31" /> <?php echo $lang["actions"][31]; ?></div> </div> </div>Aquí hay un ejemplo
La próxima vez muéstranos al menos un mínimo de código para que podamos ayudarte a entender
$('.selectAll').on('click',function(){ let isSelected = $(this).is(':checked'); $(this).parents('.myDiv').find('input[type="checkbox"]').each(function(){ if( isSelected ) $(this).prop('checked',true); else $(this).prop('checked',false); }) }) $('input:not(".selectAll")').on('click',function(){ let selectAllChecked = $(this).parents('.myDiv').find('.selectAll')[0].checked; let numberInput = $(this).parents('.myDiv').find('input').not('.selectAll').length; let numberInputChecked = $(this).parents('.myDiv').find('input:checked').not('.selectAll').length; if( selectAllChecked ) $(this).parents('.myDiv').find('.selectAll')[0].checked = false; if( numberInput == numberInputChecked) $(this).parents('.myDiv').find('.selectAll')[0].checked = true; }) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="actions" id="actions" title="Actions"> <div class="myDiv"> <div><input type="checkbox" name="action" id="" class="selectAll" value="0" /> Select All</div><br /> <div><input type="checkbox" name="action" id="" class="" value="1" /> <?php echo $lang["actions"][1]; ?></div><br /> <div><input type="checkbox" name="action" id="" class="" value="2" /> <?php echo $lang["actions"][2]; ?></div><br /> <div><input type="checkbox" name="action" id="" class="" value="3" /> <?php echo $lang["actions"][3]; ?></div><br /> </div> <div class="myDiv"> <div><input type="checkbox" name="action" id="" class="selectAll" value="26" />Select All</div><br /> <div><input type="checkbox" name="action" id="" class="" value="27" /> <?php echo $lang["actions"][27]; ?></div><br /> <div><input type="checkbox" name="action" id="" class="" value="28" /> <?php echo $lang["actions"][28]; ?></div><br /> <div><input type="checkbox" name="action" id="" class="" value="29" /> <?php echo $lang["actions"][29]; ?></div><br /> <div><input type="checkbox" name="action" id="" class="" value="30" /> <?php echo $lang["actions"][30]; ?></div><br /> <div><input type="checkbox" name="action" id="" class="" value="31" /> <?php echo $lang["actions"][31]; ?></div> </div> </div>