如果您想要从一个页面到另一个页面的值,那么您几乎没有选择(相同的规则适用于具有多个页面的单个 jQM html 以及围绕多个 html 文件构建的 jQM 项目):
I. 在第二页使用 pagebeforeshow 并通过数据对象检索所有需要的数据。假设您有 2 个 html 文件,第一个 html 的 id 为“page1”,第二个 html 的 id 为“page2”),例如:
$('#page2').live('pagebeforeshow', function (e, data) {
alert(data.prevPage.find('div[data-role="content"]').attr('id'));
});
二、第二种选择是创建一个将用作数据存储的共享对象:
var storeObject = {
someValue : '1',
anotherValue : '2'
}
这是一个最简单的解决方案,但它仅在 ajax 页面加载处于活动状态时才有效。
三、您可以使用 changePage 传递值:
$.mobile.changePage('page2.html', { dataUrl : "page2.html?paremeter=123", data : { 'paremeter' : '123' }, reloadPage : true, changeHash : true });
并像这样阅读它们:
$('#page2').live('pagebeforeshow', function (e, data) {
var paremeter = $(this).data("url").split("?")[1];;
paremeter = paremeter.replace("paremeter=","");
alert(paremeter);
});
更多信息
If you want to learn more about this topic take a look at this article. You will find several solutions with examples.