如何从此过滤器获取上下限值以在数据库中进行搜索?这是我在网站上使用的过滤器栏的图片。
这是该过滤器栏的HTML代码。
<div class="filter-price p-t-22 p-b-50 bo3">
<div class="m-text15 p-b-17">
Price
</div>
<div class="wra-filter-bar">
<div id="filter-bar" id="value">
</div>
</div>
<div class="flex-sb-m flex-w p-t-16">
<div class="w-size11">
<!-- Button -->
<button class="flex-c-m size4 bg7 bo-rad-15 hov1 s-text14 trans-0-4" class='filter'>
Filter
</button>
</div>
<div class="s-text3 p-t-10 p-b-10">
Range: $
<span id="value-lower">610
</span> - $
<span id="value-upper">980
</span>
</div>
</div>
</div>
这是此Filter Bar
的JQuery代码。
<script type="text/javascript">
/*[ No ui ]
===========================================================*/
var filterBar = document.getElementById('filter-bar');
noUiSlider.create(filterBar, {
start: [ 100, 2000 ],
connect: true,
range: {
'min': 100,
'max': 2000
}
}
);
var skipValues = [
document.getElementById('value-lower'),
document.getElementById('value-upper')
];
filterBar.noUiSlider.on('update', function( values, handle ) {
skipValues[handle].innerHTML = Math.round(values[handle]) ;
}
);
</script>
答案 0 :(得分:0)
如果您使用的软件来自here,那么它只是说您需要发出get命令,这对您来说就像这样:
filterBar.noUiSlider.get();
由于您使用的是范围,因此get应该返回一个数组。如果您不使用该软件,请告诉我。
更新: 这是一种执行所需操作的方法,其中按钮从滑块中获取值。请注意,我必须更改按钮的标记,因为您有两个类属性,因此我将class ='filter'更改为id ='filter'
var filterBar = document.getElementById('filter-bar');
noUiSlider.create(filterBar, {
start: [ 100, 2000 ],
connect: true,
range: {
'min': 100,
'max': 2000
}
});
var skipValues = [
document.getElementById('value-lower'),
document.getElementById('value-upper')
];
filterBar.noUiSlider.on('update', function( values, handle ) {
skipValues[handle].innerHTML = Math.round(values[handle]) ;
});
$("button#filter").click(function () {
var filterBar = document.getElementById('filter-bar');
var vals = filterBar.noUiSlider.get();
console.log(vals);
});
<script src="https://refreshless.com/nouislider/distribute/nouislider.js"></script>
<link href="https://refreshless.com/nouislider/distribute/nouislider.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="filter-price p-t-22 p-b-50 bo3">
<div class="m-text15 p-b-17">
Price
</div>
<div class="wra-filter-bar">
<div id="filter-bar" id="value">
</div>
</div>
<div class="flex-sb-m flex-w p-t-16">
<div class="w-size11">
<!-- Button -->
<button class="flex-c-m size4 bg7 bo-rad-15 hov1 s-text14 trans-0-4" id='filter'>
Filter
</button>
</div>
<div class="s-text3 p-t-10 p-b-10">
Range: $
<span id="value-lower">610
</span> - $
<span id="value-upper">980
</span>
</div>
</div>
</div>
如果您使用的软件来自here,那么它只是说您需要发出get命令,这对您来说就像这样:
filterBar.noUiSlider.get();
由于您使用的是范围,因此get应该返回一个数组。如果您不使用该软件,请告诉我。