2011-08-23 42 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');'不會做任何事情。我假設這應該在內部請求並提供更新的權利清單? –