У меня есть некоторый фильтр с чекбоксами. В каждом отдельном блоке этого фильтра есть элемент, который становясь активным должен снимать активность с других, но только строго в этом блоке не затрагивая элементы других таких же блоков.
У меня есть понимание, что нужно выбирать родительский ближайший элемент. Но у меня не выходит, рассчитываю на помощь.
$("input[type=checkbox]").change(function () {
var parent = $(this).closest('label');
var parentBlock = parent.closest($('.search-form__checkbox'));
parent.toggleClass('checked', $(this).is(':checked'));
if (parent.hasClass("any") && parent.hasClass("checked")) {
parentBlock.find($(".js-checkbox").not(parent).removeClass('checked'));
parentBlock.find($(".js-checkbox").not(parent).find("input[type=checkbox]").attr("checked", false));
} else if (!parent.hasClass("any") && parent.hasClass("checked")) {
parentBlock.find($(".js-checkbox.any").removeClass('checked'));
parentBlock.find($(".js-checkbox.any").find("input[type=checkbox]").attr("checked", false));
}
});
Если потребуется еще какая-то информация приведу ниже в комментах.