2017-02-21 73 views
2

我无法弄清楚如何捕获bootstrap-slider插件上的值变化。如何在Bootstrap-Slider插件中捕获onChange值

阅读文档。尝试了很多很多事情。

<div class="form-group"> 
    <label class="col-md-4 control-label" for="language_spanhish">Spanish</label> 
    <div class="col-md-6"> 
    <input id="language_spanish" type="text" data-provide="slider" 
     data-slider-ticks="[0, 1, 2]" 
     data-slider-min="0" 
     data-slider-max="2" 
     data-slider-step="1" 
     data-slider-value="0" 
     data-slider-tooltip="show" 
     onchange="alert('you changed it')" 
    /> 
    </div> 
</div> 

尝试(没有成功):

document.getElementById("#language_spanish").getAttribute("data-slider-value"); 
     var getIt = $('#language_spanish').data('slider').getValue(); 
     alert(getIt); 
spanish.on("slide", function(slideEvt) { console.log(slider.getValue()); alert(slideEvt.value); }); 
     $('#language_spanish').slider().on('slide', function(ev){ alert("I changed it") }); 

只是找那里的人已经成功地抓获滑块值的变化。如果插件不支持捕获值更改的功能,请回发。

一个控制台日志错误我从一些尝试,得到的是:

未捕获的ReferenceError:$没有定义

+0

@YafimSimanovsky解决在这里 - > http://stackoverflow.com/questions/38825650/seiyria-bootstrap-slider-getvalue-not-working!真棒。 –

回答

1

你尝试

$('#language_spanish').on('input', function(ev){ alert("I changed it") }); 

对于Uncaught ReferenceError: $ is not defined可以绕过jQuery的(不测试):

var slider = document.getElementById("language_spanish") 
console.log("init : " + slider.value) 
slider.addEventListener('input', function(e){ alert("I changed it " + e.currentTarget.value + " === " + input.value) }); 
+0

尚未...但我现在@Arthur - 谢谢! –

+0

nope ...得到'未捕获的ReferenceError:$未定义'错误再次@Arthur。 –

+0

将尝试下一个建议 –

0

此解决方案需要jQuery 。

滑块自带事件处理程序,它不包含输入,但包含“更改”。 https://github.com/seiyria/bootstrap-slider

$("#language_spanish").on("change", function(){ 
console.log("Changed"); 
}); 

如果你想获得滑块的新值,那么。

$("#language_spanish").on("change", function(event){ 
console.log("Changed to ", event.value.newValue); 
}); 
相关问题