例如我有:
<input id="testId" title="test" class="range" type="range" name="test" min="0" max="3000" value="15" />
脚本:
$(".range").rangeinput();
$("#testId").live('change', function() {
console.log($(this).data("rangeinput").getValue());
});
所以默认情况下我的值是15.然后我输入我的输入25,但是控制台的结果是15,而不是我输入20,但结果是25.我做错了什么?
谢谢!
答案 0 :(得分:1)
请尝试这种方式。发生的事情是在调用getValue之前未设置更改的值。致电setTimeout
0
将解决此问题。
$(".range").rangeinput();
$(".range").live('change', function(){
var $range = $(this);
setTimeout(function(){
console.log($range.data('rangeinput').getValue());
}, 0);
});
答案 1 :(得分:0)
如果您可以摆脱live
并直接使用change
,那么它会起作用,因为插件会使用更改事件本身。
$("#testId").change(function() {
console.log($(this).data("rangeinput").getValue());
});
答案 2 :(得分:0)
<span>Totar horizontalmente</span>
<input id="rota_hor" type='range' name='range' min='0' max='360' step='10' value='3' style="width: 350px;"/>
<script>
$("#rota_hor").change(function()
{
console.log($(this).attr("value"));
});
</script>
答案 3 :(得分:0)
您必须使用jQuery Tools scripting数据(工具名称)API才能访问值
<input id="myRange" name="some_name" type="range" value="20" min="0" max="100" step="10" />
<script>
var rangeApi = $('#myRange').rangeinput({
// Some settings here if it needed
}).data('rangeinput');
rangeApi.setValue(100);
console.log(rangeApi.getValue());
</script>