我需要一个带有两个手柄的jquery滑块,输入来自两个文本框,如
http://www.israel-diamonds.com/search/diamonds/default.aspx.目前我有一个单一的手柄滑块,来自单个文本框的输入
$("#slider").slider({ value: 1,step: 1000,min: 0,max: 5000000,slide: function(event,ui) { $("input").val("$" + ui.value); } }); $("input").change(function () { var value = this.value.substring(1); console.log(value); $("#slider").slider("value",parseInt(value)); });
有什么建议吗?
编辑:
<div class="demo"> <input type="text" class="sliderValue" /> <p> </p> <div id="slider"></div> </div>
和
$("#slider").slider({ range: "min",value: 1,step: 10,max: 1000,slide: function (event,ui) { $("input").val(ui.value); } }); $("input").change(function (event) { var value1 = parseFloat($("input").val()); var highVal = value1 * 2; $("#slider").slider("option",{ "max": highVal,"value": value1 }); });
解决方法
假设你有两个< input>内容:
<input type="text" class="sliderValue" data-index="0" value="10" /> <input type="text" class="sliderValue" data-index="1" value="90" />
还有一个滑块占位符元素:
<div id="slider"></div>
您可以使用values选项将滑块窗口小部件置于多个句柄模式,并同步< input>的值.元素:
$("#slider").slider({ min: 0,max: 100,step: 1,values: [10,90],ui) { for (var i = 0; i < ui.values.length; ++i) { $("input.sliderValue[data-index=" + i + "]").val(ui.values[i]); } } }); $("input.sliderValue").change(function() { var $this = $(this); $("#slider").slider("values",$this.data("index"),$this.val()); });
您可以在this fiddle中看到结果.