刷新列表视图问题

发布于 2024-11-29 01:38:01 字数 874 浏览 1 评论 0原文

我在刷新列表视图时遇到问题。

我在同一个 html 文件中有 2 个页面。 在这两个页面中,我都有一个使用 Ajax 动态生成的列表视图:

<ul data-role="listview" data-filter="true" id="nestedList">
</ul>

在另一个页面中:

<ul data-role="listview" data-filter="true" id="secondList">
</ul>

加载数据后,我正在这样做:

$('#nestedList').html(dynamicNestedList);
$('#secondList').html(dynamicSecondList);
$('ul#nestedList').listview("refresh"); 

对于第一页,一切正常。 对于第二页,我添加了一个简单的脚本,可以实现即时刷新:

<script>
 $('ul#secondList').listview("refresh");
</script>

使用 jQueryMobile Beta1,我可以返回到第一页,一切仍然正常。 使用 jQueryMobile Beta2,当我返回第一页时,列表视图是空的...

我尝试添加相同的“脚本”来动态刷新第一页。它不起作用。当我返回第一页时,“正在加载”jQuery 消息正在发生并且永远不会离开。

我听说过 jQuery Mobile Beta 2 的“创建”触发器,但我可能不明白它的真正含义......

有什么解决办法吗?

I have an issue with refreshing listview.

I have 2 pages within the same html file.
In both pages, I have a listview generated dynamical with Ajax:

<ul data-role="listview" data-filter="true" id="nestedList">
</ul>

And in the other one:

<ul data-role="listview" data-filter="true" id="secondList">
</ul>

After loading datas, I'm doing this:

$('#nestedList').html(dynamicNestedList);
$('#secondList').html(dynamicSecondList);
$('ul#nestedList').listview("refresh"); 

For the first page, everything is ok.
For the second page, I added a simple script which makes the refresh on the fly:

<script>
 $('ul#secondList').listview("refresh");
</script>

With jQueryMobile Beta1, I could go back to the first page and everything was still ok.
With jQueryMobile Beta2, when I go back to the first page, the listview is empty...

I tried to add the same "script" to refresh on the fly the first page. It does not work. When I go back to the first page, the "Loading" jQuery message is happening and never leaves..

I've heard about the "create" trigger of jQuery Mobile Beta 2, but I may not understand what it means really...

Any solution?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

聚集的泪 2024-12-06 01:38:01

您需要在 live()

示例:

$('#secondList_page_id').live('pageshow',function(event, ui) {
    $('#secondList').html(dynamicSecondList);
    $('ul#secondList').listview("refresh");
});

$('#nestedList_page_id').live('pageshow',function(event, ui) {
    $('#nestedList').html(dynamicNestedList);
    $('ul#nestedList').listview("refresh"); 
});

You need to execute this in a live()

Example:

$('#secondList_page_id').live('pageshow',function(event, ui) {
    $('#secondList').html(dynamicSecondList);
    $('ul#secondList').listview("refresh");
});

$('#nestedList_page_id').live('pageshow',function(event, ui) {
    $('#nestedList').html(dynamicNestedList);
    $('ul#nestedList').listview("refresh"); 
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文