2011-08-23 40 views
0

我正在开发一个使用Java Struts2和jQuery Mobile的简单网站,其中有一个选项页面,其中包含带有嵌套列表的页面的链接。jQuery Mobile如何刷新列表中的页面

导航和点击列表选项(在选项页面上)一样简单,然后移动到带有列表的页面。

我能够在JSP上动态地绘制嵌套列表,但是列表内容将保持静态,即使数据库中发生了某些变化。

这里的问题是,我希望能够当刷新列表内容:

  1. 至少当我输入从选项或从嵌套列表屏幕返回时列表页
  2. 主列表屏幕或使用列表屏幕上的明确按钮刷新内容
  3. - 或最终计时器

我怎样才能实现这种行为?我不知道如何/在哪里应用或从jQuery Mobile的文档调用这段代码:

$(“UL”)的列表视图(“刷新”)

我明白任何有帮助。谢谢。

+0

你使用的是什么版本的JQM?实施这一方法已经在JQM的发展上发生了很大的变化。 – Jasper

+0

您好,我正在使用1.0b1 –

+0

我不确定这是否对您有帮助,但对于1.0b3,您可以触发一个新事件来处理HTML转换为JQM元素和类。这可以和混合代码一起工作(新的元素和旧的JQM元素):'$('#my_list_id')。trigger(“create”);' – Smamatti

回答

1

选择器应该是一个适用于你想创建的列表的选择器('ul'是通用的) - 所以如果你的列表是id = 'bliss'选择器和功能将是$('#bliss').listview('refresh'),并且你根据上下文激活它,即在pageshow,点击等

例如,在pageshow我认为这将是这样的:

$('#optionScreen').live('pageshow',function(event, ui){ 
    $('#optionList').listview('refresh') 
}); 

你要确保方法大火使绑定发生之前的页面实际上是显示(上面的代码片段将刷新添加到pageshow事件在#optionScreen页)

这里是页div,将保存列表:

<div data-role="page" data-url="optionScreen" id="optionScreen"> 
    <ul id="optionList" data-role="listview"> 
     <li>generated stuff</li> 
    </ul> 
</div> 

编辑2 - 你可能想看看这个插件,你的工作是什么,它甚至可能是你正在做什么的解决方案:https://github.com/hiroprotagonist/jquery.mobile.actionsheet(这是一个设置选项的模式对话框等)

+0

感谢您的回答。所以“#optionScreen”显示是由JQM生成的导航哈希? –

+0

我改进了我的答案,以显示html代码 - 但是,#optionScreen将是jqm追加到url的URL –

+0

Thaks的导航哈希。我设法绑定到'pagebeforeshow',但是调用刷新我的列表'$('#list')。listview('refresh');'不会做任何事情。我假设这应该在内部请求并提供更新的权利清单? –