2011-10-20 130 views
2

在我的移動網站中,我使用javascript動態創建表單,因此我需要'重新加載'頁面以獲取jQuery Mobile風格。 對於listview,我們可以簡單地調用$(「#mylistview」)。listview(「refresh」),但是沒有這種形式的特性。使用jQuery Mobile刷新表單頁面

我知道我們可以調用「刷新」表單中的每個元素,但是通過這樣做,樣式未正確應用。事實上,我所有的複選框分開,他們不出現在一個「插入」

我有什麼解決方法嗎?

+0

我想你可以使用LOAD方法並將其插入到另一個「頁面」中,該頁面被移動樣式轉換,然後將其加載到「當前」頁面。這只是一個理論不知道它會工作:( –

回答

4

文檔發行說明:

例子:

$('#nameOfPage').trigger('create'); 

報價:

新的「創造」,甚至T:輕鬆提高所有工具在一次

雖然網頁插件不再調用每個插件具體地說, 會調度「pagecreate」事件,其中大部分部件使用 自動初始化自己。只要插件腳本 被引用,它就會自動增強它在頁面上找到的小部件 的任何實例,就像以前一樣。例如,如果加載了選擇菜單 插件,它將增強在新創建的頁面 中找到的所有選擇。

這種結構現在讓我們來添加一個新創建的事件,可以是 觸發任何元素,爲您節省了手動初始化 包含在元素中的每個插件的任務。到目前爲止,如果開發者 通過Ajax或動態生成的標記加載內容,他們需要手動初始化所​​有包含的插件(列表視圖按鈕, select等)以增強標記中的小部件。

現在,我們方便的創建事件將初始化該標記內所有必需的插件 ,就像頁面創建增強 過程的工作方式一樣。如果您要使用Ajax加載HTML 標記塊(例如登錄表單),則可以觸發創建以自動將其包含的所有小組件(此 個案中的輸入和按鈕)轉換爲增強版本。此方案的代碼將是:

$(...new markup that contains widgets...).appendTo(".ui-page" 
).trigger("create"); 

創建與刷新:一個重要的區別

注意,還有就是創建事件 和刷新方法之間的一個重要區別,一些小工具有。創建事件適合 用於增強包含一個或多個小部件的原始標記。某些小部件具有的 刷新方法應該在已編程的 已用 (已增強)的小部件上使用,並且需要更新UI以匹配。

舉例來說,如果你有一個頁面,您可以動態附有數據角色=創建頁面後列表視圖屬性, 觸發創建列表的父元素在新 無序列表將改變它 成風格的列表視圖小部件。如果以編程方式添加更多列表項目 ,則調用列表視圖的刷新方法 會將這些新列表項目更新爲增強狀態,並保留現有列表項目不變。