JqueryMobile 页面跳转传值 Demo
原理: 通过$(document).bind("pagebeforechange", handleChangePage);来绑定pagebeforechange事件的触发函数handleChangePage(e,data)。页面跳转时pagebeforechange事件会被触发两次,第一次触发时data.toPage是到达页面的url,类型是string,第二次触发时data.toPage不是String类型 ,此时可以获取到达页面的信息。为了获得到达页面的信息,所以我们需要获得第二次触发时候的event,可以简单通过if(typeof data.toPage != “string”)来判断,这时候可以用e.target.baseURI来获取到达页面的URI,并通过这个URI来解析出附带的参数信息。然后通过e.target.find(“pageId”)来获取到达页的相应组件,并进行相应的操作。相关方法
function beforechange(e, data) {
if (typeof data.toPage != "string") {
var url = $.mobile.path.parseUrl(e.target.baseURI)
var re = 'details.html';
if (url.href.search(re) != -1) {
var page = $(e.target).find("#detailsPage");
var d = data.options.data;
var data = getUrlParam(url.href);
page.find("#nameDiv").html(decodeURIComponent(data));
page.find("#timeDiv").html(decodeURIComponent(data));
page.find("#contentDiv").html(decodeURIComponent(data));
}
}
}解析URL参数的js方法: function getUrlParam(string) {
var obj =new Array();
if (string.indexOf("?") != -1) {
var string = string.substr(string.indexOf("?") + 1);
var strs = string.split("&");
for(var i = 0; i < strs.length; i ++) {
var tempArr = strs.split("=");
obj = tempArr;
}
}
return obj;
}
正在学习中 谢谢楼主了 非常支持 开源 我是来刷分的,嘿嘿顺便学习一下 我是来刷分的 求楼主把demo发我QQ邮箱谢谢
qq:857647066@qq.com 从本地获取json的值作为参数传给另一个页面,怎么做做到。。我现在通过ajax,的方式能获取json,但是怎么把传给第二个页面? 学习学习~ 金生往事 发表于 2015-1-16 08:50
从本地获取json的值作为参数传给另一个页面,怎么做做到。。我现在通过ajax,的方式能获取json,但是怎么把 ...
你把json参数转成url参数,到了你要跳转的页面, 就根据楼主的方法拿url参数就行了 您好,想请教一个问题,
var page = $(e.target).find("#detailsPage");
上面这个函数中,如何通过参数来改变#detailsPage 这个,也就是说$(e.target).find("#detailsPage"); 中#detailsPage 是可以通过参数改变的
页:
[1]