JQuery Mobile并通过查询字符串在链接中传递变量 - 但是查询字符串不会刷新

Ben*_*Ben 1 query-string jquery-mobile

我正在使用JQuery Mobile做一个PhoneGap应用程序,我有两个页面,一个有动态的页面列表,另一个有一个可以编辑或创建页面的表单.这些是在一个单独的HTML文件中.

点击列表项会通过?action = edit并点击我的"添加"按钮,传递?action = add querystrings.

这是一个可视化页面的jsfiddle

注意:该示例与实时代码的行为不完全相同.

我在Android手机上运行我的应用程序,如果我执行这些操作,则会在警告框中显示正确的查询: -

  1. 单击列表页面上的"添加"按钮
  2. 单击表单页面上的
  3. 单击列表页面上的编辑列表项链接

但是,如果我这样做,其他原因(单击编辑首先,然后单击添加按钮)单击添加按钮永远不会在警告框中显示添加查询字符串(jsfiddle示例始终锁定第一个单击链接的查询字符串,这甚至比实时代码!)

sgl*_*ser 5

这里的问题是您使用多个模板来执行此操作.如果您将此作为单独的页面使用,这将正常工作.作为一个多应用程序,处理此问题的最佳方法是使链接触发一些全局变量的设置,以跟踪应用程序的当前状态.

像这样编辑链接

 <a href="javascript:editPage(15)">Page 15</a>
Run Code Online (Sandbox Code Playgroud)

然后使脚本像这样:

var editingId = 0

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

$("div#editingPage").live("pageshow", function(){
    loadDataForPage(editingId);
});
Run Code Online (Sandbox Code Playgroud)