Фильтр на Jquery
Приветствую, подскажите можно ли реализовать фильтр по диапазону параметров с 2-мя кнопками например:
Показать: Вес от 1 до 10 Вес от 10 до 30 По умолчанию показываются все div-ы с этими значениями сам html к примеру: <button class="one">Вес от 1 до 10</button> <button class="two">Вес от 20 до 30</button> <div class="product-field-display">10</div> <div class="product-field-display">20</div> <div class="product-field-display">10</div> <div class="product-field-display">10</div> <div class="product-field-display">10</div> <div class="product-field-display">20</div> <div class="product-field-display">30</div> как можно сравнить данные параметры, сам в java не особо силен, т.к. занимаюсь версткой! Но заметил если вызывать по
if ("div:contains('1')"<"div:contains('10')") {
$('.one').click(function(){ $("div:contains('10')").css('border', '1px solid red'); });
};
то все 10 ки он окрасит в красную рамку, а как коректно все это дело отфильтровать, что бы при нажатии на кнопку нужные остались, а не нужные пропали? При нажатии на вторую кнопку показались другие строки с заданными параметрами? Заранее благодарю за помощь! |
banditman,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function(){
$('.one,.two').click(function(){
var $btn=$(this);
$('.product-field-display').hide().each(function(){
var value=parseFloat($.trim($(this).text()));
if(
$btn.hasClass('one') && value>=1 && value<=10 ||
$btn.hasClass('two') && value>=20 && value<=30
)
$(this).show();
});
});
});
</script>
</head>
<body>
<button class="one">Вес от 1 до 10</button>
<button class="two">Вес от 20 до 30</button>
<div class="product-field-display">10</div>
<div class="product-field-display">20</div>
<div class="product-field-display">10</div>
<div class="product-field-display">10</div>
<div class="product-field-display">10</div>
<div class="product-field-display">20</div>
<div class="product-field-display">30</div>
</body>
</html>
|
Спасибо большое, дальше буду настраивать под свои нужды)))
|
| Часовой пояс GMT +3, время: 10:04. |