admin 发表于 2014-2-20 21:45:25

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;
        }



小雪 发表于 2014-2-20 21:45:26

正在学习中 谢谢楼主了 非常支持 开源

爱哭的鱼 发表于 2014-2-21 02:47:44

我是来刷分的,嘿嘿顺便学习一下

befairyliu 发表于 2014-2-21 11:15:32

我是来刷分的

markt 发表于 2015-1-13 19:52:20

求楼主把demo发我QQ邮箱谢谢
qq:857647066@qq.com

金生往事 发表于 2015-1-16 08:50:40

从本地获取json的值作为参数传给另一个页面,怎么做做到。。我现在通过ajax,的方式能获取json,但是怎么把传给第二个页面?

梆梆 发表于 2015-1-26 09:13:10

学习学习~

lizhuquan769 发表于 2015-1-29 16:14:55

金生往事 发表于 2015-1-16 08:50
从本地获取json的值作为参数传给另一个页面,怎么做做到。。我现在通过ajax,的方式能获取json,但是怎么把 ...

你把json参数转成url参数,到了你要跳转的页面, 就根据楼主的方法拿url参数就行了

fanjian224 发表于 2015-2-2 17:06:54

您好,想请教一个问题,
var page = $(e.target).find("#detailsPage");
上面这个函数中,如何通过参数来改变#detailsPage 这个,也就是说$(e.target).find("#detailsPage"); 中#detailsPage 是可以通过参数改变的
页: [1]
查看完整版本: JqueryMobile 页面跳转传值 Demo