0

我有两个页面: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 是未定义的。我究竟做错了什么?

4

1 回答 1

2

我正在使用这种方法,这是一种 jQM 方式,至少适用于 1.0 和 1.1 版本:

$("#EventInfoPage").live('pagebeforeshow', function () {
    var eventId = $(this).data("url").split("?")[1];;
    eventId = eventId.replace("eventId=","");   
    alert(eventId);
});
于 2012-12-09T09:58:43.750 回答