ARX2
@ARX2
Web-разработчик | Священник

Как осуществить $.each поиск «beetween»?

Добрый вечер.
Не профи в jQuery. Такой вопрос: Есть к примеру фильтр по стоимости "от" и "до" который показывает на странице только те Блоки которые попадают в заданный промежуток. К примеру

<div class="price-item">
                                <input class="min-price" type="text" placeholder="Цена от" id="min_coast">
                            </div>
                            <div class="price-item">
                                <input class="max-price" type="text" placeholder="до." id="max_coast">
                            </div>


        <div class="filter">
            <div class="price">140 руб.</div>
        </div>

         <div class="filter">
            <div class="price">200 руб.</div>
        </div>


         <div class="filter">
            <div class="price">160 руб.</div>
        </div>


<script type="text/javascript">
  $("#min_coast").keyup(function(){
                _this = this;
                $.each($(".filter"), function() {
                    if($(this).find(".price").text().toLowerCase().indexOf($(_this).val().toLowerCase()) === -1)
                       $(this).hide();
                    else
                       $(this).show();
                });
            });
</script>


Суть в том, что если к примеру ввести цену от 100 до 180, div с ценой 200 должен пропасть.

И как при этом сделать еще order_by?
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
$(document).on('input', '.price-item', function() {
  const min = +$('.min-price').val() || 0;
  const max = +$('.max-price').val() || Infinity;

  $('.filter')
    .hide()
    .filter(function() {
      const val = parseFloat($('.price', this).text());
      return min <= val && val <= max;
    })
    .show();
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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