PhoneGap中文网
标题: JqueryMobile 页面跳转传值 Demo [打印本页]
作者: admin 时间: 2014-2-20 21:45
标题: 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[0]));
- page.find("#timeDiv").html(decodeURIComponent(data[1]));
- page.find("#contentDiv").html(decodeURIComponent(data[2]));
-
-
- }
- }
- }
复制代码解析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[i].split("=");
- obj[i] = tempArr[1];
- }
- }
- return obj;
- }
复制代码
作者: 小雪 时间: 2014-2-20 21:45
正在学习中 谢谢楼主了 非常支持 开源
作者: 爱哭的鱼 时间: 2014-2-21 02:47
我是来刷分的,嘿嘿顺便学习一下
作者: befairyliu 时间: 2014-2-21 11:15
我是来刷分的
作者: markt 时间: 2015-1-13 19:52
求楼主把demo发我QQ邮箱谢谢
qq:857647066@qq.com
作者: 金生往事 时间: 2015-1-16 08:50
从本地获取json的值作为参数传给另一个页面,怎么做做到。。我现在通过ajax,的方式能获取json,但是怎么把传给第二个页面?
作者: 梆梆 时间: 2015-1-26 09:13
学习学习~
作者: lizhuquan769 时间: 2015-1-29 16:14
你把json参数转成url参数, 到了你要跳转的页面, 就根据楼主的方法拿url参数就行了
作者: fanjian224 时间: 2015-2-2 17:06
您好,想请教一个问题,
var page = $(e.target).find("#detailsPage");
上面这个函数中,如何通过参数来改变 #detailsPage 这个,也就是说 $(e.target).find("#detailsPage"); 中 #detailsPage 是可以通过参数改变的
欢迎光临 PhoneGap中文网 (http://bbs.phonegap100.com/) |
Powered by Discuz! X3.2 |