Jquery 工具:Rangeinput 在输入更改时获取值

发布于 2025-01-03 02:42:34 字数 554 浏览 1 评论 0原文

我使用 Jquery 工具 rangeinput

例如我有:

  <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。我做错了什么?

谢谢你!

I use Jquery tools rangeinput.

For example I have:

  <input id="testId" title="test" class="range" type="range" name="test" min="0" max="3000" value="15" />

And script:

$(".range").rangeinput();

        $("#testId").live('change', function() { 
            console.log($(this).data("rangeinput").getValue());    
        });

So by default my value is 15. Then I type in my input 25, but result in console is 15, than I type 20, but result is 25. What am I doing wrong?

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

意中人 2025-01-10 02:42:34

改为尝试这种方式。发生的情况是在调用 getValue 之前未设置更改的值。调用 0setTimeout 将解决这个问题。

$(".range").rangeinput();

$(".range").live('change', function(){
    var $range = $(this);
    setTimeout(function(){
        console.log($range.data('rangeinput').getValue());
    }, 0);
});

Try it this way instead. What's happening is the changed value isn't set before you call getValue. Calling setTimeout of 0 will fix that.

$(".range").rangeinput();

$(".range").live('change', function(){
    var $range = $(this);
    setTimeout(function(){
        console.log($range.data('rangeinput').getValue());
    }, 0);
});
阳光①夏 2025-01-10 02:42:34

如果您可以摆脱 live 并直接使用 change 它将起作用,因为插件使用更改事件本身。

 $("#testId").change(function() { 
      console.log($(this).data("rangeinput").getValue());    
 });

If you can get rid of live and directly use change it will work because plugin uses the change event itself.

 $("#testId").change(function() { 
      console.log($(this).data("rangeinput").getValue());    
 });
另类 2025-01-10 02:42:34
<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>
<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>
二货你真萌 2025-01-10 02:42:34

您必须使用 jQuery 工具脚本 data(toolname) 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>

You must use jQuery Tools scripting data(toolname) API for access to values

<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文