Показать сообщение отдельно
  #12 (permalink)  
Старый 21.01.2021, 13:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

sovsem-nub,
логика формирования параметров фильтрации, селекторы css даны условно
let obj = {};
let parametrs = [obj];
let color = document.querySelectorAll('.color :checked');
if (color.length) {
    color = color.map(({value}) => value);
    obj.color = a => a && color.some(f => a.indexOf(f) != -1)
}
let size = document.querySelectorAll('.size :checked');
if (size.length) {
    size = color.map(({value}) => value);
    obj.size = a => a && size.some(f => a.indexOf(f) != -1)
}
let from = +document.querySelector('.pricefrom').value;
let to = +document.querySelector('.priceto').value;
let f;
if (from && to) f = a => a !== void 0 && +a >= from && +a <= to;
else if (from) f = a => a !== void 0 && +a >= from;
else if (to) f = a => a !== void 0 && +a <= to;
if (f) obj.price = f;

Последний раз редактировалось рони, 21.01.2021 в 13:20.
Ответить с цитированием