сортировка от min до max jquery

228
06 апреля 2017, 17:09

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div id="sort"> 
  <div data-price="1">item with price 1</div> 
  <div data-price="2">item with price 2</div> 
  <div data-price="3">item with price 3</div> 
  <div data-price="4">item with price 4</div> 
  <div data-price="5">item with price 5</div> 
  <div data-price="6">item with price 6</div> 
  <div data-price="7">item with price 7</div> 
</div><br> 
Сортировка:  
<div class="sort-by-price"> 
  <input type="text" id="price_min" placeholder="Min"> 
  <input type="text" id="price_max" placeholder="Max"> 
</div>

Задача состоит в том, чтобы при изменении значения в input - скрывались/показывались(т.е display:none/block) div. Соответсвенно указав в input`ах значение 3 и 7 - показались только элементы начиная с третьего, и заканчивая седьмым.

Answer 1

var $price_min = $('#price_min'), 
    $price_max = $('#price_max'), 
    $dataPrice = $('[data-price]'); 
     
function showAndHide() { 
  var price = { 
      min: parseFloat( $price_min.val() ) || 1, 
      max: parseFloat( $price_max.val() ) || $dataPrice.length 
    }; 
     
  $dataPrice.each(function() { 
    var my_price = parseFloat( $(this).data('price') ); 
     
    if( my_price >= price.min && my_price <= price.max ){ 
      $( this ).show(); 
    }else{ 
      $( this ).hide(); 
    }; 
  }); 
}; 
     
$price_min.on('input', showAndHide); 
 
$price_max.on('input', showAndHide);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<div id="sort"> 
  <div data-price="1">item with price 1</div> 
  <div data-price="2">item with price 2</div> 
  <div data-price="3">item with price 3</div> 
  <div data-price="4">item with price 4</div> 
  <div data-price="5">item with price 5</div> 
  <div data-price="6">item with price 6</div> 
  <div data-price="7">item with price 7</div> 
</div><br> 
Сортировка:  
<div class="sort-by-price"> 
  <input type="text" id="price_min" placeholder="Min"> 
  <input type="text" id="price_max" placeholder="Max"> 
</div>

READ ALSO
HTML/CSS/JS резиновый Input

HTML/CSS/JS резиновый Input

Ребят привет! Столкнулся с такой задачей: Нужно сверстать резиновый input что бы при наборе текста он растягивался под содержимое и отодвигал...

353
Перерисовка изображения c#

Перерисовка изображения c#

Всем доброго времениВопрос такой : использую Graphics для рисовки нескольких контуров (формат PNG) на PictureBox

327
Ошибка при редактировании отфильтрованного BindingListCollectionView

Ошибка при редактировании отфильтрованного BindingListCollectionView

BindingListCollectionView является источником для DataGrid

221
Преобразование массива double в complex

Преобразование массива double в complex

ЗдравствуйтеПодскажите, пожалуйста, я пытаюсь преобразовать массив double в массив complex, как мне говорили ранее, в действительной части мы записываем...

313