distCom
@distCom
Начинающий программист

Не работает сортировка товаров, как исправить?

Хотел сделать сортировку товаров по категориям, нашел пару примеров, но почему-то не срабатывает на карточки товаров, я пробовал сделать с обычными блоками, которые написал в html, все работает хорошо, но с карточками, которые выводятся на страницу через js это не работает, класс hide, у которого стоит display: none у них появляется, но они не исчезают, как это можно исправить?
5f03580a72999710541578.jpeg
5f03581a27a35342885743.jpeg
<a href="#" data-filter="aut">Автосервис</a>
    <a href="#" data-filter="diag">Диагностика</a>
    <div class="goods-out"></div>


Вывод товаров :
function goodsOut(data) {
    // вывод на страницу
    let out='';
    for (var key in data) {
        out +=`'<div class="cart" data-cat="${data[key].description}">'`;
        out +=`<p class="name">${data[key].name}</p>`;
        out +=`<div class="cost">${data[key].cost} ₽</div>`;
        out +=`<button class="add-to-cart" data-id="${key}">+</button>`;
        out +='</div>';
    }
    $('.goods-out').html(out);
    $('.add-to-cart').on('click', addToCart);
}


Сортировка по категориям:
$(function() {

    let filter = $("[data-filter]");

    filter.on("click", function(event) {
        event.preventDefault();

        let cat = $(this).data('filter');

        if(cat == 'all') {
            $("[data-cat]").removeClass("hide");
        } else {
            $("[data-cat]").each(function() {
                let workCat = $(this).data('cat');

                if(workCat != cat) {
                    $(this).addClass('hide');
                } else {
                    $(this).removeClass('hide');
                }
            });
        }
    });
});
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
distCom
@distCom Автор вопроса
Начинающий программист
Решил проблему классом !important, не знаю, правильно ли это, но работает, может кому полезно будет
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы