我正在使用bootstrap-slider.js
。一切正常,但使用setValue
设置新值不会触发"change"
功能。
HTML:
<div id="barra-temp">
<input id="selec-temp" type="text"/>
</div>
JAVASCRIPT:
var barratemp = $("#selec-temp").slider({
id: "slider-temp",
min: 1500,
max: 1850,
tooltip: 'always',
tooltip_split: true,
range: true,
formatter: function(value) {
return 'Año: ' + value;
}
});
barratemp.on('change',function(val){
console.log('It works');
});
更新价值的代码:
$("#selec-temp").slider('setValue',[1550,1552],true);
处理程序移动到新位置,但triggerChangeEvent不会触发。
谢谢
答案 0 :(得分:1)
来自Docs的setValue:
newValue
,triggerSlideEvent
,triggerChangeEvent
为滑块设置新值。如果可选的triggerSlideEvent参数为true,则滑动&#39;事件将被触发。 如果可选的triggerChangeEvent参数为true,则更改&#39;将触发事件。此函数将newValue作为Number,String,Array。如果值的类型为String,则它必须可转换为整数,否则将引发错误。
您通过以下方式致电setValue
:
$("#selec-temp").slider('setValue',[1550,1552],true);
这意味着triggerSlideEvent
为true
,而triggerChangeEvent
为 false
(默认值)。因此,不会触发任何更改事件。请改用以下内容:
$(&#34;#SELEC-TEMP&#34)滑块(&#39;的setValue&#39; [1550,1552],真实,TRUE);