5

私は自分でjQuery Mobileを学ぼうとしています。カッコイイと思うのですが、何か引っかかってます。これを呼び出したい場合:

$j.mobile.changePage({ url: $j("#News"), data: "apple=banana", type: "GET"}, "slide", true, true);

うまくいかないようです。私はjQueryでデータを渡すことについてあまり知られていないので、何か間違っているかもしれません。

敬具、センネ

編集:申し訳ありませんが、間違ったコードをそこに置いてください...

4

3 に答える 3

1

私が知る限り - URL は実際の URLまたは別の ID でなければなりませんdiv[data-role=page]

明確にするために:

ID を指定すると、現在のドキュメントで使用可能な別の div が表示されます (複数のページを含む html ファイルを作成できます)。

また、jquerymobile はページを 1 回だけロードし、後で参照できるようにドキュメントに追加します。サーバー側のアクションは後でトリガーされません。(提供されたデータを使用して呼び出しをどのように処理するかはわかりません)

于 2010-12-22T07:30:15.640 に答える
1

試行錯誤に基づいて、これは私が起こっていることです:

  • $.mobile.changePage ('#'+id, filter, false, true) は現在のビューを更新しますが、サーバーでリクエストを実行しません
  • $.mobile.changePage ({url:'#'+id, data:'code=apple=banana', type:'GET'}, 'slide', false, true) は現在のビューを更新しませんが、実行しますサーバー上のリクエスト
  • $.mobile.changePage ({url:'http://localhost/SomeOtherPage.aspx', data:'code=apple=banana', type:'GET'}, 'slide', false, true) は現在のビューを更新しますサーバー上でリクエストを実行します

そのため、サーバー上で実行中に現在のビューを更新するには、ベース URL が異なる必要があるようです。

于 2010-12-31T18:22:51.050 に答える
0

アイテムのタップ イベントをキャプチャし、タップされたアイテムの詳細を含む読み込まれたページ (同じ html ファイル) を表示する必要があるシナリオに遭遇しました。ただし、私が見つけた解決策は、いくつかのことに半依存しています。

  • .js スキームは、グローバル オブジェクトにとって重要なものを上書きしたり、外部コードによって上書きされたりしないように、少なくとも 1 つの「名前空間」またはグローバル オブジェクトのプロパティに含める必要があります。
  • データは .js オブジェクトに既に存在している必要があり、または他の方法でアクセスできる必要があります。

ページ遷移を引き起こす要素 (またはページ遷移を引き起こす問題のある関数内) にタップ イベントをアタッチすると、次のように関数を作成できます。

function PageTransitionHandle(oEvent)
{
   // Set your stored data to a global object
   oYourNamespace.DataObject = oDataObject;

   // not necissary if already linked to other page but useful when attaching to
   // an image  or other element
   $.mobile.changePage("#otherPageId");
}

そして、次のページの pageshow イベントで:

function PageInit()
{
   var oPageData = oYourNamespace.DataObject;
   // Handle using data from here (i.e calling webmethod using parameters 
   // or setting data according to object)
}

ajax 読み込みメソッドが使用されているため、これは外部ページと内部ページで機能する可能性がありますが、テストしていません。これは、パラメーターやデータ オブジェクト全体を渡して他のフィールドを定義したり、ユーザー情報をそれらに追従させたりするのに役立ちます。

注目すべきもう 1 つのルートはLocal Storageですが、個人的にはまだあまり調べていません。

于 2013-02-01T19:39:31.747 に答える