@NonFame

Как объединить параметры фильтрации?

Есть на данный момент 2 параметра для фильтрации. Это кол-во комнат и кол-во этажей. Но работает не правильно, не могу понять в чем проблема. Поиск происходит просто по значениям инпута, но они передаются похоже как то не правильно. Если указать 4 комнаты и 2 этажа, фильтр показывает карточки в которых значение комнат или этажей равно 2.
Пример на картинке:
5f6e248b9208c763862918.png

let submit = $('[data-submit]');
    submit.on('click', function () {
        //Работа с комнатами
        let roomSearch = parseInt($('#rooms').val())
        $('[data-room]').each(function () {
            let roomHave = $(this).data('room')
            console.log(roomHave);
            if (roomHave !== roomSearch) {
                $(this).addClass('hide')
            } else $(this).removeClass('hide')
        })
    })
        //
        //Работа с этажами
    submit.on('click',function () {
        //Получаем значение этажей
        let floor = parseInt($('#floors').val())
        $('[data-floor]').each(function () {
            let floorsHave = $(this).data('room');
            if (floorsHave !== floor) {
                $(this).addClass('hide')
            } else $(this).removeClass('hide')
        })
    })
  • Вопрос задан
  • 38 просмотров
Решения вопроса 1
RAX7
@RAX7
let submit = $("[data-submit]");
submit.on("click", function () {
  let roomSearch = parseInt($("#rooms").val());
  let floor = parseInt($("#floors").val());
  $("[data-room][data-floor]").each(function () {
    let roomHave = $(this).data("room");
    let floorsHave = $(this).data("floor");

    if (roomHave !== roomSearch && floorsHave !== floor) {
      $(this).addClass("hide");
    } else $(this).removeClass("hide");
  });
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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