JSFiddle - React, Tailwind, and code Playground
HTML
<a title="Filter Category" id="general" class=""><i>Count the checkboxes <small class="counter"></small></i></a>
<div id="video-filter-container">
<div id="general-content" class="video-filter-content">
<ul id="general-ul" class="wpuf-category-checklist">
<li id="category">
<label class="selec"><input type="checkbox" class="select_all" /> .Select_all Foo</label>
<ul class="children">
<li id="category-4"><label class="selectit"><input value="4" type="checkbox" name="wpmm[]" id="in-category-4" /> Foo1</label></li>
<li id="category-112"><label class="selectit"><input value="112" type="checkbox" name="wpmm[]" id="in-category-112" /> Foo2</label></li>
</ul>
</li>
<li id="category">
<label class="selec"><input type="checkbox" class="select_all" /> .Select_all Bar</label>
<ul class="children">
<li id="category-3">
<label class="selectit"><input value="3" type="checkbox" name="wpmm[]" id="in-category-3" /> Bar1</label></li>
<li id="category-115"><label class="selectit"><input value="115" type="checkbox" name="wpmm[]" id="in-category-115" /> Bar2</label></li>
<li id="category-114"><label class="selectit"><input value="114" type="checkbox" name="wpmm[]" id="in-category-114" /> Bar3</label></li>
</ul>
</li>
</ul>
</div>
</div>
CSS
ul li ul{padding-left:15px;}
JavaScript
$(function() {
$('#general i .counter').text(' ');
var generallen = $("#general-content input[name='wpmm[]']:checked").length;
if(generallen>0){$("#general i .counter").text('('+generallen+')');}else{$("#general i .counter").text(' ');}
})
$("#general-content input:checkbox").on("change", function() {
var len = $("#general-content input[name='wpmm[]']:checked").length;
if(len>0){$("#general i .counter").text('('+len+')');}else{$("#general i .counter").text(' ');}
});
$(function() {
$('.select_all').change(function() {
var checkthis = $(this);
var checkboxes = $(this).parent().next('ul').find("input[name='wpmm[]']");
if(checkthis.is(':checked')) {
checkboxes.attr('checked', true);
} else {
checkboxes.attr('checked', false);
}
});
})