Я создаю базовый фильтр для удаления некоторых элементов из списка. Есть только 12 предметов, поэтому ИМО недостаточно, чтобы беспокоиться о ленивой загрузке или рендеринге. Просто используя jQuery, чтобы скрыть элементы.Скрытие элементов на основе атрибута данных, минимальных и максимальных значений
Элементы отфильтрованы, используя номера из выпадающего списка select
, один для minValue
и один для maxValue
. Значение, относящееся к каждому div, сохраняется в data-bedrooms
на div.
HTML пример
<div class="property-item" data-bedrooms="7">7 bedrooms</div>
Я запуск моей логики .change
одного из моих выпадающих. Затем я использую filter()
, чтобы возвращать элементы, которые соответствуют (или не соответствуют) условиям minValue
и maxValue
и исчезают в них.
Вот полный код ручки, где вы можете увидеть все в действии: http://codepen.io/anon/pen/ALdOLW
Что я нахожу в том, что первая подборка работ (например, выберите мин 4
и вы удалите все ниже 4
), но попытаться выберите максимальное значение, и все начнет ошибочно.
Когда вы выбираете второе значение, оно возвращает все предыдущие результаты. Мне нужно связать оба выбора вместе.
Куда я иду не так?
Мне нужно объединить fadeIn
и fadeOut
, чтобы проверить как maxValue
и minValue
return $(this).attr('data-bedrooms') < minValue || > maxValue;
, но я знаю, выше, является неправильным синтаксисом
Спасибо за отличный ответ, включая объяснение. – user1486133