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

时间:2011-10-30 23:40:11

标签: jquery-mobile query-string

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

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

Here is a jsfiddle to visualize the pages

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

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

  1. 点击列表页面上的添加按钮
  2. 点击表单页面上的
  3. 单击列表页面上的编辑列表项链接
  4. 但是,如果我这样做,其他原因(单击编辑优先,然后单击添加按钮)单击添加按钮永远不会在警告框中显示添加查询字符串 (jsfiddle示例总是锁定第一个单击链接的查询字符串,这比实时代码更糟糕!)

1 个答案:

答案 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);
});