javascript - 如何获得 jquery 滑块反馈?
问题描述
如何设置反馈,以便在输入数字时滑块的值发生变化?
JS:
$('.catalog-filter-change-price_slider-range').slider({
range: true,
min: priceMin,
max: priceMax,
values: [priceCurMin, priceCurMax],
slide: function (event, ui) {
setSliderValues(ui.values[0], ui.values[1]);
},
stop: function (event, ui) {
self.getNewFilterData();
}
});
HTML:
<div id="mse2_ms|price" class="catalog_filter catalog-filter_price fieldset">
<div class="catalog-filter_title">Price</div>
<div class="catalog-filter_change">
<div class="mse2_number_inputs catalog-filter-change-price_slider-inputs">
<input type="input" name="price__gte" id="price_0" value="{{ prices.price__min }}"
class="form-control input-sm" />
<input type="input" name="price__lte" id="price_1" value="{{ prices.price__max }}"
class="form-control input-sm" />
</div>
<div class="mse2_number_slider catalog-filter-change-price_slider-range"></div>
</div>
解决方案
这的基础是这样的:
$(".catalog-filter_change input").change(function() {
var p0 = $("#price_0").val();
var p1 = $("#price_1").val();
$('.catalog-filter-change-price_slider-range').slider("option", "values", [p0, p1]);
});
在这里查看更多信息:http: //api.jqueryui.com/slider/#method-values
根据您提供的更完整的示例:
$(function() {
var priceMin = 1,
priceMax = 5,
priceCurMin = 1,
priceCurMax = 5;
function setSliderValues(l, h) {}
$('.catalog-filter-change-price_slider-range').slider({
range: true,
min: priceMin,
max: priceMax,
values: [priceCurMin, priceCurMax],
slide: function(event, ui) {
setSliderValues(ui.values[0], ui.values[1]);
},
stop: function(event, ui) {
self.getNewFilterData();
}
});
$(".catalog-filter_change input").change(function() {
var p0 = $("#price_0").val();
var p1 = $("#price_1").val();
$('.catalog-filter-change-price_slider-range').slider("option", "values", [p0, p1]);
});
});
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css">
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.12.4.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div id="mse2_ms|price" class="catalog_filter catalog-filter_price fieldset">
<div class="catalog-filter_title">Цена</div>
<div class="catalog-filter_change">
<div class="mse2_number_inputs catalog-filter-change-price_slider-inputs">
<input type="input" name="price__gte" id="price_0" value="1" class="form-control input-sm" />
<input type="input" name="price__lte" id="price_1" value="5" class="form-control input-sm" />
</div>
<div class="mse2_number_slider catalog-filter-change-price_slider-range"></div>
</div>
</div>
推荐阅读
- php - 如何针对不同列的另一个表数据更新表数据 (td)
- excel - Excel:按条件在表格中查找行
- css - 将现有的 Vue UI 库单位转换为 px
- powershell - 从 powershell 调用 @odata.nextlink
- c++ - C++ 标识符“X”未定义,但“X”已定义
- docker - Cloud Run - OpenBLAS 警告和应用程序重新启动(不是冷启动问题)
- continuous-integration - 如何为 Circle CI orb 中的作业创建多个执行器?
- matlab - MATLAB 中的线性插值
- ruby - Ruby - IMAP 迭代多个文件夹/选择多个文件夹
- javascript - 带有参数的 es7 函数 decotators 以返回循环