【问题标题】:jquery mobile send data to internal page and read from therejquery mobile将数据发送到内部页面并从那里读取
【发布时间】:2014-02-28 09:55:23
【问题描述】:

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

如果用户点击发送,我将 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");

});

但我没有得到任何结果。

我尝试这样做的原因是,修复 data-rel="back" 按钮。

如果用户点击发送,我会生成一个带有搜索参数城市和商店的列表视图。但是在用户单击列表视图的条目并再次返回列表视图后,列表为空。所以这就是为什么我尝试将参数保存在 URL 中并使用 URL 参数创建列表视图。

感谢您的帮助

【问题讨论】:

  • 您可以使用此stackoverflow.com/questions/20974092/… 来检索点击的链接,然后对它做任何您想做的事情。如果您需要澄清,请告诉我。
  • 是的,我需要更多的说明。我真的不明白如何使用它。
  • 您想检索点击按钮之前的输入值,对吧?
  • 查看这个演示jsfiddle.net/Palestinian/g5Umg如果这是你想要的,我会添加一个详细的答案。
  • 几乎。在用户搜索城市和商店后,他会获得每个 ajax 调用加载的条目的列表视图。然后用户单击其中一个条目并获得一个包含该条目信息的页面。所以现在如果用户点击后退按钮,他会再次转到#search,但没有任何输入。就像在这个例子中:jsfiddle.net/g5Umg/3

标签: jquery jquery-mobile


【解决方案1】:

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

您是否考虑过缓存您的列表页面?

您是否尝试过本地存储?以下是一些使用示例:

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

【讨论】:

  • 是的,我尝试使用本地存储,但它不起作用。这两个函数位于单独的
  • 好吧,我将脚本放在一起并使用了 localStorage,我也从它们那里获取了数据,但是如果我在输入列表视图的条目后单击返回,它仍然显示我的空白页面。好像代码进不去 $( document ).on( "pageinit", "#search", function() {});在我点击后退按钮后
  • LocalStorage 独立于 scipts。尝试删除后退按钮中的 data-rel="back" ,而不是将带有 mobile.changePage 的 onclick 事件添加到列表页面。它应该调用 pageinit 事件并解决您的问题
猜你喜欢
  • 2013-01-24
  • 2011-12-28
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-15
  • 1970-01-01
相关资源
最近更新 更多