我有两页: SRDashboard.html和SREventInfo.html
仪表板包含事件列表,另一页面用于查看其中一个事件。我进行了设置,以便在单击列表中的某个事件后,调用loadEvent方法,并执行以下代码:
$.mobile.changePage(Config.PageNames.EventInfo, { dataUrl : Config.PageNames.EventInfo + "?eventId=" + eventId, data : { eventId: eventId }, reloadPage : true, changeHash : true });
正如您所看到的,它正在传递eventId。我可以看到它是通过firebug实现的,并且参数就像我需要它一样。
在SREventInfo.html中,我有以下块:
<div data-role="page" id="EventInfoPage">
<script type="text/javascript">
$("#EventInfoPage").live('pageinit', function () {
var url = $.url(document.location);
alert(document.location);
var eventId = url.param("eventId");
alert(eventId);
});
</script>
</div>
这里发生的是我的第一个提醒是URL为SRDashboard.html,而eventId未定义。我做错了什么?
答案 0 :(得分:2)
我正在使用这种方法,这是一种jQM方式,至少适用于版本1.0和1.1:
$("#EventInfoPage").live('pagebeforeshow', function () {
var eventId = $(this).data("url").split("?")[1];;
eventId = eventId.replace("eventId=","");
alert(eventId);
});