2011-10-30 71 views
1

我正在用JQuery Mobile做一個PhoneGap應用程序,我有兩個頁面,一個頁面有一個動態列表,另一個有一個窗體編輯或創建一個頁面。這些都在一個單一的HTML文件。JQuery Mobile&通過查詢字符串在鏈接中傳遞變量 - 但查詢字符串不刷新

點擊列表項目通行證?action = edit並點擊「Add」按鈕我有,通過?action =添加querystrings。

Here is a jsfiddle to visualize the pages

注:如不採取行動不太一樣活代碼。

我運行在Android手機上我的應用程序,如果我做這些動作的,正確的querysting在警告框觀察: -

  1. 點擊列表頁
  2. 點擊Add按鈕回表單頁面
  3. 點擊列表頁面上的編輯列表項的鏈接

但是,如果我這樣做,其他各地爲何(點擊編輯,然後再添加按鈕)單擊Add按鈕從未展示在警告框中添加查詢字符串 (jsfiddle示例始終鎖定第一次點擊的鏈接的查詢字符串,這比實時代碼更糟!)

回答

5

這裏的問題是您使用多個模板來執行此操作。如果你使用這個作爲單獨的頁面,這將正常工作。作爲一個多應用程序,處理這個問題的最好方法是讓鏈接觸發一些全局變量的設置,以跟蹤應用程序的當前狀態。

作出這樣

<a href="javascript:editPage(15)">Page 15</a> 

編輯鏈接然後使腳本是這樣的:

var editingId = 0 

function editPage(id){ 
    editingId = id; 
    $.mobile.changePage("#editingPage"); 
}); 

$("div#editingPage").live("pageshow", function(){ 
    loadDataForPage(editingId); 
}); 
+0

感謝巴蒂爾:) – Ben