DO YOU NEED A CONTENT WRITER FOR YOUR BUSINESS?

Your One-Stop Solution for All Content Needs! Click here for more!
jQuery

Check parent checkboxes in nested ul li – jQuery

Share

Sometimes in jQuery we need to select all checkbox that are child of a element or depends on child checkbox we need to select top most parent checkbox.

You need to iterate all children for which the parent you click in and the same way for a child we need to check top most parent.

Here is sample HTML :

<ul class="nested" id="nested">
<li>
<input type="checkbox" name="" value="1"> One
<ul>
<li><input type="checkbox" name="" value="1">Child 1 of One </li>
<li><input type="checkbox" name="" value="1">Child 2 of One</li>
<li><input type="checkbox" name="" value="1">Child 3 of One
<ul>
<li><input type="checkbox" name="" value="1">Child 1 of Child 3 of One</li>
<li><input type="checkbox" name="" value="1">Child 2 of Child 3 of One</li>
</ul>
</li>
</ul>
</li>
<li><input type="checkbox" name="" value="1"> Two</li>
<li><input type="checkbox" name="" value="1"> Three
<ul>
<li>
<input type="checkbox" name="" value="1">
Child 1 of Three </li>
<li><input type="checkbox" name="" value="1">Child 2 of Three
<ul>
<li><input type="checkbox" name="" value="1">Child 1 of Child 2 of Three</li>
<li><input type="checkbox" name="" value="1">Child 2 of Child 2 of Three</li>
</ul>
</li>
</ul>
</li>
</ul>

Here is sample jQuery :

$('.nested input[type=checkbox]').click(function () {
$(this).parent().find('li input[type=checkbox]').prop('checked', $(this).is(':checked'));
var sibs = false;
$(this).closest('ul').children('li').each(function () {
if($('input[type=checkbox]', this).is(':checked')) sibs=true;
})
$(this).parents('ul').prev().prop('checked', sibs);
});

View :

  • One
    • Child 1 of One
    • Child 2 of One
    • Child 3 of One
      • Child 1 of Child 3 of One
      • Child 2 of Child 3 of One
  • Two
  • Three
    • Child 1 of Three
    • Child 2 of Three
      • Child 1 of Child 2 of Three
      • Child 2 of Child 2 of Three

Check jsFiddle Example

Jacob Frazier

Based on United States, Jacob Frazier is a skilled JavaScript developer with over 8 years of experience. He is passionate about change and trying new things, both professionally and personally. He loves startups and is extremely proactive.

Recent Posts

Writing Tools That Help Content Marketers Produce Cleaner Work

Content marketing has a hidden tax. It's not the writing itself, it's everything that happens…

2 weeks ago

How Data Analytics Is Actually Driving Smarter Marketing Decisions

Most marketing teams aren't failing because they lack data. They're failing because they can't act…

4 weeks ago

The Ultimate SPF Tester Guide: Boost Email Deliverability In Minutes

Email marketing continues to be one of the most effective ways for businesses to communicate,…

4 weeks ago

Sales Ops: A role that helps sales teams work as efficiently as possible

Xerox first introduced it around the mid-1970s. The need came up because the management activities…

1 month ago

Forex Investment Tips for Beginners

Investing in the forex market may look to be a dangerous game. With some worthwhile…

1 month ago

How Did The Restaurant Industry change In Post Pandemic Era?

The coronavirus outbreak has drastically changed the way we live our lives. Yes, that's absolutely…

2 months ago