0

SRDashboard.htmlとSREventInfo.htmlの2つのページがあります

ダッシュボードにはイベントのリストが含まれ、他のページはそれらのイベントの1つを表示するためのものです。リスト内のイベントの1つをクリックした後、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 に答える