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/

相关文章:

events - Angular 2 - 在(点击)事件中使用管道

php - Laravel Observers - 有什么方法可以传递额外的参数吗?

javascript - 使用 jquery 使用 .on() 将事件附加到页面上的动态插入按钮

css - jQuery Mobile 和 fullcalendar css 冲突

jquery - 不显示右箭头

javascript - 我的轮播在水平方向上工作得很好,但如何让它在垂直方向上工作呢?

javascript - 第三级 JQuery 下拉列表不显示

jquery-mobile - 带有选择菜单的 jQuery Mobile 不需要的缩放

javascript - jquery/javascript 错误 - 太多递归 - 使用自调用函数

javascript - 如何使用数组按列填充表格?