Sök…


Introduktion

Jag har använt olika Stackoverflow-exempel och svar för att komma till detta riktigt enkla exempel på hur man ska hantera "markera alla" kryssrutan i kombination med en automatisk check / avmarkera om någon av gruppkryssrutans status ändras. Begränsning: ID: n "välj alla" måste matcha inmatningsnamnen för att skapa välj alla grupper. I exemplet är ingången att välja alla ID cbGroup1. Ingångsnamnen är också cbGroup1

Koden är mycket kort, inte mycket om uttalande (tid och resurskrävande).

2 markera alla kryssrutor med motsvarande gruppkryssrutor

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<p>
<input id="cbGroup1" type="checkbox">Select all
<input name="cbGroup1" type="checkbox" value="value1_1">Group1 value 1
<input name="cbGroup1" type="checkbox" value="value1_2">Group1 value 2
<input name="cbGroup1" type="checkbox" value="value1_3">Group1 value 3
</p>
<p>
<input id="cbGroup2" type="checkbox">Select all
<input name="cbGroup2" type="checkbox" value="value2_1">Group2 value 1
<input name="cbGroup2" type="checkbox" value="value2_2">Group2 value 2
<input name="cbGroup2" type="checkbox" value="value2_3">Group2 value 3
</p>

<script type="text/javascript" language="javascript">
    $("input").change(function() {
      $('input[name=\''+this.id+'\']').not(this).prop('checked', this.checked);
      $('#'+this.name).prop('checked', $('input[name=\''+this.name+'\']').length === $('input[name=\''+this.name+'\']').filter(':checked').length);      
    });
</script>


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow