我正在使用JQuery Mobile做一个PhoneGap应用程序,我有两个页面,一个有动态的页面列表,另一个有一个可以编辑或创建页面的表单。这些是在一个单独的html文件中。
点击列表项会通过?action = edit并点击我的“添加”按钮,传递?action = add querystrings。
Here is a jsfiddle to visualize the pages
注意:该示例与实时代码的行为不完全相同。
我在Android手机上运行我的应用程序,如果我执行这些操作,则会在警告框中显示正确的查询: -
但是,如果我这样做,其他原因(单击编辑优先,然后单击添加按钮)单击添加按钮永远不会在警告框中显示添加查询字符串 (jsfiddle示例总是锁定第一个单击链接的查询字符串,这比实时代码更糟糕!)
答案 0 :(得分: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);
});