Jquery 移动 slider 刷新时出现错误

标签 jquery events jquery-mobile

当我尝试动态更改 jqm slider (或 ListView )的值时,我遇到了这个神秘的错误

Undefined

Cannot call methods on slider prior to initialization;

attempted to call method 'refresh'

这是我的代码的简化版本

$("#mypage").bind("pagecreate", function(){
    var server = new Updater(); // my ajax object to send / revive data
    server.on("some_event", function(e){ // nothing more than a success callback
        $("#slider").val(e.data.value).slider("refresh");
    }
});

我还尝试使用 $(window).load$(document).ready 但没有成功,但由于 jqm 告诉我使用 pagecreate 事件,所以我不这样做不知道到底出了什么问题。

最佳答案

刷新表单元素

在 jQuery Mobile 中,一些增强的表单控件只是简单地设置样式(输入),但其他控件是从 native 控件构建并保持同步的自定义控件(选择、 slider )。要使用 JavaScript 以编程方式更新表单控件,请首先操作 native 控件,然后使用刷新方法告诉增强控件更新自身以匹配新状态。下面是一些如何更新常见表单控件,然后调用刷新方法的示例:

复选框:

$("input[type='checkbox']").prop("checked",true).checkboxradio("refresh");

radio :

$("input[type='radio']").prop("checked",true).checkboxradio("refresh");

选择:

var myselect = $("#selectfoo");
myselect[0].selectedIndex = 3;
myselect.selectmenu("refresh");

slider :

$("input[type='range']").val(60).slider("refresh");

翻转开关(它们使用 slider ):

var myswitch = $("#selectbar");
myswitch[0].selectedIndex = 1;
myswitch.slider("refresh");

来源:jQuery Mobile Docs (version 1.1.0)

关于Jquery 移动 slider 刷新时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7139260/

相关文章:

javascript - 有没有办法从 ajax 预检请求中获取调试信息?

jquery - 使用 iscroll 与 jquery 移动绑定(bind)问题

jquery - jquery-mobile collapsible展开后设置高度

javascript - 按钮从值中​​减去和添加只影响一个

javascript - 如何检查是否在文本区域中用 'enter' 键按下了 'shift' 键

events - Xlib 鼠标事件和 ButtonPressMask

c# - 如何解决 .NET 中事件数量未知的线程同步问题?

C# Tabcontrol 捕获 mousedown 事件

jquery - 设置 ListView 的样式以隐藏 jquery mobile ListView 中元素之间的小间隙

javascript - 使用 jquery 更改 Bootstrap 下拉菜单选择