Check the parent checkbox with . jQuery

dd2ster

Basically I am trying to write a js func that if I check a child checkbox the parent checkbox also checks, if not already checked. I am using jquery here is my html:

<div class="checkboxes right">
<label for="enablenotice"><input type="checkbox" id="enablenotice">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده  </label>
<div class="child"><label for="enablenotice"><input type="checkbox" id="enablenotice">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
<label for="enablenotice"><input type="checkbox" id="enablenotice">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
<label for="enablenotice"><input type="checkbox" id="enablenotice">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
<label for="enablenotice"><input type="checkbox" id="enablenotice">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
<label for="enablenotice"><input type="checkbox" id="enablenotice">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
</div>
</div>
<div class="sepp"></div>
<div class="checkboxes left">
<label for="enablenotice"><input type="checkbox" id="enablenotice">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
<div class="child"><label for="enablenotice"><input type="checkbox" id="enablenotice">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
<label for="enablenotice"><input type="checkbox" id="enablenotice">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
<label for="enablenotice"><input type="checkbox" id="enablenotice">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
<label for="enablenotice"><input type="checkbox" id="enablenotice">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
<label for="enablenotice"><input type="checkbox" id="enablenotice">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
</div>
</div>

  <script>
        $(document).ready(function() {
$('.child input').change(function() {
    if ($(this).is(':checked')) {
        $(this).closest('ul').siblings('input:checkbox').attr('checked', true);
    }
});
    });
        </script>
DonovanM

You just have to traverse the DOM to get to the "parent" checkbox. Going up two levels of parents will take you to <div class="child"> and .prev() will select the label before the div. Finally, .find("input") will locate the input element for the parent's label.

I had to remove the for attributes because they were causing issues (and aren't necessary in this case), and having a bunch of the same ids isn't good, either.

$(document).ready(function() {
    $('.child input').change(function() {
        if ($(this).is(':checked')) {
            $(this).parent().parent().prev().find("input").prop('checked', true);
        }
    });
});
div.child {
  padding-left: 2em;  
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="checkboxes right">
    <label><input type="checkbox">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده  </label>
    <div class="child">
        <label><input type="checkbox">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label><br>
        <label><input type="checkbox">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label><br>
        <label><input type="checkbox">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label><br>
        <label><input type="checkbox">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label><br>
        <label><input type="checkbox">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label><br>
    </div>
</div>
<div class="sepp"></div>
<div class="checkboxes left">
    <label><input type="checkbox">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
    <div class="child">
        <label><input type="checkbox">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label><br>
        <label><input type="checkbox">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label><br>
        <label><input type="checkbox">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label><br>
        <label><input type="checkbox">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label><br>
        <label><input type="checkbox">اطلاع رسانی ها را از طریق ایمیلم اطلاع بده</label>
    </div>
</div>

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Check if a checkbox is checked and apply style to parent element with jquery

From Dev

Check if a checkbox is check in jQuery

From Java

Check if checkbox is checked with jQuery

From Dev

check a checkbox with jQuery?

From Dev

Jquery Check all checkbox

From Dev

Check Checkbox in jquery

From Dev

Jquery Check all checkbox

From Dev

Check/Uncheck checkbox jQuery

From Dev

Check multiple Checkbox jQuery

From Dev

Check the child checkboxes onclick of parent checkbox

From Dev

Checking parent checkbox doesn't check child

From Dev

Blazor On Parent Click then Check Child Checkbox

From Dev

How to make check a checkbox by clicking on the parent element

From Java

check / uncheck checkbox using jquery?

From Dev

Jquery checkbox check and uncheck on hover

From Dev

Jquery click check nearest checkbox

From Dev

Jquery Checkbox remains check on click

From Dev

Jquery checkbox issue for single check

From Dev

jQuery hide parent div based on checkbox

From Dev

jQuery hide parent div based on checkbox

From Java

Check/Uncheck checkbox with JavaScript (jQuery or vanilla)?

From Dev

check if a checkbox is checked without using jquery?

From Dev

jQuery filter, check all checkbox values

From Dev

Check/Uncheck checkboxes on select of a master checkbox in jquery

From Dev

Can't "check" dynamically created checkbox jQuery

From Dev

Jquery checking checkbox on click doesn't check it

From Dev

jQuery check checkbox is not working with second time

From Dev

jquery check all input:checkbox on button click

From Dev

How to check if a checkbox is checked ASP using JQuery