JSFiddle - React, Tailwind, and code Playground

by Hiramoto Makiko

HTML

<p><input type="checkbox" id="check1" class="js-toggle-checkbox" data-category="category1"><label for="check1">親チェックボックス</label></p>
<ul class="category1">
  <li><input type="checkbox" id="check1-1"><label for="check1-1">チェックボックス1</label></li>
  <li><input type="checkbox" id="check1-2"><label for="check1-2">チェックボックス2</label></li>
  <li><input type="checkbox" id="check1-3"><label for="check1-3">チェックボックス3</label></li>
</ul>

<p><input type="checkbox" id="check2" class="js-toggle-checkbox" data-category="category2"><label for="check2">親チェックボックス</label></p>
<ul class="category2">
  <li><input type="checkbox" id="check2-1"><label for="check2-1">チェックボックス1</label></li>
  <li><input type="checkbox" id="check2-2"><label for="check2-2">チェックボックス2</label></li>
  <li><input type="checkbox" id="check2-3"><label for="check2-3">チェックボックス3</label></li>
</ul>

JavaScript

function ToggleCheckbox(){
	var $parent = $('.js-toggle-checkbox');
  $parent.change(function(){
  	var bool = $(this).prop('checked');
    var category = $(this).data('category');
    var $targets = $('.'+category);
    $('input',$targets).each(function(){
    	$(this).prop('checked', bool);
    });
  });
}
ToggleCheckbox();