jquery mobile将数据发送到内部页面并从中读取

jquery mobile将数据发送到内部页面并从中读取,jquery,jquery-mobile,Jquery,Jquery Mobile,我试图使用Get方法将数据提供给jquery移动应用程序的内部页面。该应用程序是作为一页解决方案编写的 如果用户单击send,我会将a的href更改为,例如: $("#send_loc").on("click", function () { var shop = $("#shop").prev("form").find("input").val(); var city = $("#city").prev("form").find("input").val(); $('#

我试图使用Get方法将数据提供给jquery移动应用程序的内部页面。该应用程序是作为一页解决方案编写的

如果用户单击send,我会将a的href更改为,例如:

$("#send_loc").on("click", function () {
    var shop = $("#shop").prev("form").find("input").val();
    var city = $("#city").prev("form").find("input").val();

    $('#send_loc').attr("href", "#search?city="+city+"&shop="+shop); 
});
另一方面,我尝试用以下方法捕捉数据:

$( document ).on( "pageinit", "#search", function() {
   var shop = getParameterByName("city");
   var city_name = getParameterByName("shop");

});
但是我没有得到任何结果

我尝试这样做的原因是为了修复数据rel=“back”按钮

若用户单击send,我将生成一个带有搜索参数city和shop的listview。但是,当用户单击listview的条目并再次返回列表视图后,列表为空。这就是为什么我尝试将参数保存在URL中,并使用URL参数创建listview


感谢您的帮助

如果它是一个内部页面,我假设您使用的是单个.js文件。如果是这样,就不需要传递数据。只需创建一个全局变量(在任何函数之外)并将值存储在那里

您是否考虑过缓存列表页

你试过本地存储吗?以下是一些使用的示例:

localStorage.removeItem("item");
localStorage.setItem("item", yourdata);
localStorage.getItem("item");
localStorage.clear();

是的,我试过使用本地存储,但不起作用。这两个函数在单独的标签中,因此我可以获得更好的概述,但我也可以将它们组合在一起。我不熟悉jquery中的缓存。所以要使用本地存储变量,它们必须在同一个脚本中?我把脚本放在一起,使用本地存储,我也从它们的数据中获取数据,但是如果我在输入列表视图的条目后单击返回,它仍然会显示一个空白页。代码似乎无法输入$(document);单击back按钮后,CalStorage独立于scipts。尝试删除“后退”按钮中的数据rel=“后退”,并将onclick event with mobile.changePage添加到列表页面。它应该调用pageinit事件并修复您的问题。您可以使用它检索单击的链接,然后对其执行任何操作。如果你需要澄清,请告诉我。是的,我需要更多的澄清。我真的不知道如何使用它。你们想检索点击按钮之前输入的值,对吗?检查这个演示如果这是你们想要的,我会添加一个详细的答案。差不多。在用户搜索city和shop之后,他会得到每个ajax调用加载的条目的列表视图。然后用户单击其中一个条目并获得一个包含该条目信息的页面。因此,如果用户点击“后退”按钮,他会再次进入“搜索”,但没有任何输入。如本例所示: