如何在Jquery Mobile中的两个页面之间传递和获取参数?

我正在开发一些演示App来学习Jquery Mobile中的东西。 我尝试了很多选项,但无法解决一些问题: –

  1. http://jsfiddle.net/sahil20grover1988/zZMXQ/48/在这种情况下,当我在索引页面中添加带有URL的 参数时 ,它不会指向搜索页面
  2. 如果我没有将Params添加到Index页面,那么如何将paramsIndex页面传递到Search页面
  3. 另外我需要帮助如何在搜索页面中检索Params

这有帮助吗?

JS

$('#page2').live('pageshow', function(event, ui) { alert('Page 2 - CID: ' + getParameterByName('cid')); }); function getParameterByName(name) { var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search); return match && decodeURIComponent(match[1].replace(/\+/g, ' ')); } 

HTML

 

我想出了这个简单的方法……

首先将自定义HTML5属性添加到第1页的元素以保存要传递的数据。 我的属性名为data-parm

  

在您的javascript中,创建一个单击处理程序(或其他类型的处理程序),用于选择属性并将值分配给第2页上可用的变量。

对于此示例,我已将其添加到第2页上的div的html中。

 $("a").on("click", function (event) { var parm = $(this).attr("data-parm"); //do something here with parameter on page 2 (or any page in the dom) $("#showParmHere").html(parm); }); 

要在jQuery mobile中传递带url的valor,你可以使用rel =“external”…

例:

  

您可以看到: http : //demos.jquerymobile.com/1.2.0/docs/pages/page-links.html

我偶然发现了这个问题因为同样的问题,但我想我找到了一个更简单的方法。 至少如果您使用“pagebeforechange”事件。 那是我到目前为止尝试解决方案的地方。

您可以通过此对象路径从pageonchange事件函数的第二个参数获取搜索字符串:“。options.link.context.search”。 我希望示例代码足以解释它。

 $(document).live("pagebeforechange", function(e, secondparameter) { alert(secondparameter.options.link.context.search); }); 

我为jQM 1.4+创建了一个解决方案,允许通过URL传递参数。 如果您希望用户能够直接转到带参数的页面(例如来自电子邮件),或者用户刷新页面,则此方法非常有效。

它是在MIT许可下,你可以在GitHub上找到它。