我正在为这个问题抓狂。
这些是我使用并导致上述问题的代码。
$(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');
});
});
解释:
上面的代码位于名为 hod.php 的文件中。该文件包含许多复选框。这些复选框同时被选中,当我按下 #at-site-btn 按钮时,at-site.php 出现(作为对话框)并显示每个选中的复选框。
这就是问题发生的地方。当我按下对话框中的后退按钮返回上一页并尝试取消选中这些复选框时,会弹出标题中提到的错误。我的代码中没有调用“刷新方法”,因此我看不到解决此问题的方法。
- 谁能建议一种方法来解决这个问题?
- 我用得对吗? (我对 jQuery Mobile 非常陌生。如果使用 JQM 背后有一些概念,请向我解释一下 [我已经尝试阅读 JQM 文档,但对我来说似乎很不清楚])。
谨致问候并非常感谢您的回答。
您使用什么版本的 jQueryMobile?您可能需要使用pageinit
代替pagecreate
。这部分的jQueryMobile 文档谈论选择。
对于重新绘画或创作,解决方案@Taifun指出,它看起来像:
$("input[type='radio']").checkboxradio();
$("input[type='radio']").checkboxradio("refresh");
对我来说工作得很好,但它并没有 100% 正确地绘制控件。单选按钮的边缘没有涂上圆角。
在我看到你的代码之前,我在这里读你可以打电话.trigger('create')
在容器对象上,它对我有用。你正在这样做,但在里面pagecreate
而不是在pageinit
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)