0

動的に作成したリストビューがあり、各リスト項目は次のようなリンクです: index.html#ClubPage?id=X(X は int)。

ページが読み込まれる前に ID パラメータを取得したいのですが、パラメータが消えてしまったようです。

$("#ClubPage").on("pagebeforeshow", function (event) {
    alert( $(this).data("url") );
    alert( window.location.href );
    alert( window.location.search );
});

このコードでは、1 番目のアラートは "ClubPage" を返し、2 番目は "ClubPage" を返しlocalhost/#ClubPage、3 番目は空白文字列を返します。

ID パラメータとその値を取得するにはどうすればよいですか? 何も機能していないようです:-\

4

1 に答える 1

0

Jquery モバイルは、単一ページ テンプレートの URL を操作します。パラメータを別の方法で渡す必要があります。

それを行う方法の例:

<a href="#clubPage" param="3">Some Link</a>

これは複数の方法で実行できますが、「param」の下のリンクに id 値を入れました。

次のセクションでは、クリック時にパラメーターを取り出して sessionStorage に保存します。次に、正しいページにリダイレクトします。次に、パラメータ「beforepageshow」を取得します。

$('body').on('click','a[href="#clubPage"]',function(e){
    e.preventDefault();

    var param = $(this).attr('param');
    sessionStorage.setItem('clubPage_param', param);
    location.href = "index.html#ClubPage";
});

$("#ClubPage").on("pagebeforeshow", function (event) {

    var param = sessionStorage.getItem('clubPage_param');
    //now you have your item here
});

これを行うには複数の方法があると確信しています。リンクを href に保持し、新しいページにリダイレクトする前に切り取ることができます。または、値を JavaScript 変数に格納します。

単一のページを作成して、通常どおりにパラメーターを渡すこともできます。それが役立つことを願っています。

于 2013-07-07T14:57:50.500 に答える