如何在Jquery Mobile中的两个页面之间传递和获取参数?
我正在开发一些演示App来学习Jquery Mobile中的东西。 我尝试了很多选项,但无法解决一些问题: –
- http://jsfiddle.net/sahil20grover1988/zZMXQ/48/在这种情况下,当我在索引页面中添加带有URL的 参数时 ,它不会指向搜索页面
- 如果我没有将Params添加到Index页面,那么如何将params从Index页面传递到Search页面 。
- 另外我需要帮助如何在搜索页面中检索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
- Home Page
- Page 2
- Page 2
- Home Page
我想出了这个简单的方法……
首先将自定义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上找到它。