jQuery Mobile:在初始化之前,uncaught无法在checkboxradio上调用方法; 试图调用方法'刷新'

Mys*_*inn 6 refresh uncaught-exception jquery-mobile

我正在解决这个问题.这些是我使用的代码,并引起了上述问题.

$(document).ready(function () {
    $("#at-site-btn").bind("tap", function () {
        $.mobile.changePage("view/dialog/at-site.php", { transition:"slidedown", role:"dialog" });
    });
    $('#at-site-page').live('pagecreate', function(){
        var $checked_emp    = $("input[type=checkbox]:checked");
        var $this           = $(this);
        var $msg            = $this.find("#at-site-msg");
        $checked_emp.appendTo($msg);
        $checked_emp.trigger('create');
        $msg.trigger('create');
        $(document).trigger('create');
        $this.trigger('create');
        $("html").trigger('create');

    });
});
Run Code Online (Sandbox Code Playgroud)

说明:

上面的代码位于名为hod.php的文件中.该文件包含许多复选框.这些复选框同时被检查,当我按下#at-site-btn按钮时,at-site.php出现(作为对话框)并显示每个选中的复选框.

这就是问题发生的地方.当我按下对话框中的后退按钮返回上一页并尝试取消选中这些复选框时,错误会弹出标题中提到的内容.在我的代码中没有调用'刷新方法'所以我没有看到修复它的方法.

  1. 任何人都可以建议一种方法来解决这个问题?
  2. 我用它了吗?(我对jQuery Mobile非常陌生.如果使用JQM背后有一些概念,请向我解释一下[我已经尝试过阅读JQM文档,我似乎很不清楚]).

致以最诚挚的问候,非常感谢您的回答.

Aar*_*n D 15

您使用的是哪个版本的jQueryMobile?您可能需要使用pageinit而不是pagecreate.这部分jQueryMobile文档讨论了这些选择.

对于重新绘画或创作,@ Taifun指出的解决方案,看起来像:

$("input[type='radio']").checkboxradio();
$("input[type='radio']").checkboxradio("refresh");
容器对象,它对我有用.你这样做但是在里面.trigger('create')而不是在里面pagecreate.