dzheka3d
@dzheka3d

Как отметить элементы в родителе?

Привет. У меня примерно такой код:
<li class="close">
   <input type="checkbox" id="check_2" name="tags[]"> <label for="check_2">Первый чакбокс</label>
   <ul>
      <li>
          <input type="checkbox" id="check_118" name="tags[]"> <label for="check_118">Второй чекбокс</label>
          <ul>
               <li>
                    <input type="checkbox" id="check_119" name="tags[]"> <label for="check_119">Третий чекбокс</label>
                </li>
          </ul>
      </li>
   </ul>
</li>


Как сделать, чтобы если будет отмечен третий чекбокс, то все родительские (первый и второй) тоже отметятся? А если будет отмечен второй, то вместе с ним отметится только первый. Причем, вложенность может быть любой.
Я пробовал рекурсией, но у меня браузер зависал...
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега JavaScript
.parents() поможет найти родительские элементы для каждого чекбокса.
.children() поможет найти чекбоксы в родительских элементах.

Пример (у родительских чекбоксов будет установлено то же значение, что и у выбранного):
(function($) {
	$('input[type="checkbox"]').on('change', function() {
        var isChecked = $(this).prop('checked');
            
    	$(this).parents().children('input[type="checkbox"]')
            .prop('checked', isChecked);
    })    
})(jQuery);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы