Вопрос по методу filter() в JavaScript

176
07 января 2022, 03:30

Из массива чекбоксов нужно получить лишь те, у которых атрибут 'data-set-chld' равен атрибуту 'data-set-parent' того, на который кликнули.

Мой вариант:

$("input[type=checkbox]").on("click", function () {
        let thisParent = $(this).attr('data-set-parent')
        let setProducts = $("input[type=checkbox]").filter((item) => {
            return $(this).attr('data-set-chld') == thisParent
        })
        console.log(setProducts)
}

С методом filter() ранее не работал, поэтому написал интуитивно, особо не надеясь на корректный результат.

Answer 1

$("input[type=checkbox]").on("click", function () { 
        let thisParent = $(this).data('set-parent'); 
        let setProducts = $("input[type=checkbox]").filter((idx, el) => { 
            return $(el).data('set-chld') == thisParent; 
        }); 
console.log(setProducts); 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
 
<input type="checkbox" name="ch[]" value="1" data-set-parent="0" data-set-chld="0" /> 
<input type="checkbox" name="ch[]" value="2" data-set-parent="1" data-set-chld="1" /> 
<input type="checkbox" name="ch[]" value="3" data-set-parent="1" data-set-chld="2" /> 
<input type="checkbox" name="ch[]" value="4" data-set-parent="2" data-set-chld="2" /> 
<input type="checkbox" name="ch[]" value="5" data-set-parent="2" data-set-chld="0" />

READ ALSO
Подставить значение JS к URL

Подставить значение JS к URL

Есть следующий код:

193
Как понять, что присылает подписка Xsi-events АТС Билайн на указанный для нее URL?

Как понять, что присылает подписка Xsi-events АТС Билайн на указанный для нее URL?

Оформлена подписка Xsi-event через PUT запрос в API АТС БилайнВ параметре URL был указан адрес, который принимает POST запросы

228
HTML JS Как задать изначальные значения в indexeddb

HTML JS Как задать изначальные значения в indexeddb

Имеется база данных indexeddb внутри браузераКак задать ей изначальные значения? Например пользователь заходит в первый раз, значения по умолчанию...

276
Как обратиться к элементу из форму?

Как обратиться к элементу из форму?

Генерируемая формаКоличество пунктов неизвестно

110