0

我是 jQueryMobile 的新手,我遇到了一个我无法单独解决的问题。

我有一个非常大的 HTML 表单(约 100 个字段)。为了提高可用性,表单被分成 4 个部分,分别位于 4 个 JQM 页面上。在每个页面上,我都有相同的菜单,其中包含一个显示用户的可折叠集。如果您单击一个用户,您可以看到每个用户的报告(即列表视图)。

On $(document).ready- 事件我正在调用一个load_users函数来从数据库中检索所有用户及其报告。使用这些数据,我建立了可折叠和列表视图,最后我调用 $(".listview:visible").listview().listview("refresh"); $(".menu:visible").collapsibleset("refresh"); 以正确显示可折叠和列表视图。因为菜单是同时建立在所有四个页面上的,所以我不得不添加 :visible-pseudoclass。

现在,当我将新用户插入数据库时​​,就会出现问题。插入工作正常。之后,我从菜单中删除所有元素并再次调用以再次load_users()填充菜单。但是之前有效的结果是一个没有预期样式的简单列表。

谁能给我一个提示,如何让 JQM 使我的可折叠和列表视图正确显示?

4

1 回答 1

2

当您在 jQuery Mobile 中手动添加 html 时,您需要告诉它重新执行在页面创建期间完成的增强功能。

为此,调用.listview()将重新创建小部件而不是.listview('refresh')仅刷新的构造函数。还要确保在重新创建任何标记时添加 data-role 属性。

最后不要使用 $(document).ready 它会导致 JQM 导航出现问题,而是使用$('#mypageid').on('pageinit', function(){});

http://api.jquerymobile.com/category/events/

于 2013-08-13T13:33:16.457 回答