2011-10-20 16 views
2

私のモバイルサイトでは、JavaScriptを使って動的にフォームを作成するので、jQuery Mobileスタイルを取得するにはページをリロードする必要があります。 リストビューの場合、単に$( "#mylistview")を呼び出すことができます。listview( "refresh")しかし、そのようなフォームの機能はありません。jQuery Mobileを使用したリフレッシュフォームのページ

フォームの各要素を1つ「更新」することができますが、これを行うとスタイルが正しく適用されません。実際、私のチェックボックスはすべて分離されており、1つの「挿入図」には表示されません。

私はそこに回避策がありますか?リリースで

+0

LOADメソッドを使用して、モバイルスタイルで変換された別の「ページ」に挿入し、「現在の」ページにロードすることができます。これはうまくいくかどうかわかりません:( –

答えて

4

ドキュメントノート:

例:

$('#nameOfPage').trigger('create'); 

引用:

新さえ、「作成」 T:簡単にページのプラグインはもはや、特に各プラグインを呼び出しますが、それ は、ほとんどのウィジェットが自動初期化 に自分自身を使用して「pagecreate」イベントをディスパッチしません一度

ですべてのウィジェットを強化します。ウィジェットプラグインスクリプトが と参照されている限り、それは前と同じように、ページ上に見つかるウィジェットのインスタンスを自動的に拡張します( )。たとえば、選択メニュー プラグインがロードされている場合は、新しく作成されたページ 内で見つかったすべての選択項目が強化されます。

この構造では、 がすべての要素でトリガーされる新しい作成イベントを追加できるようになり、その要素に含まれる各プラグインを手動で 初期化する作業が省かれます。これまで、Ajaxや動的に生成されたマークアップを使用してコンテンツにロードされた の場合、マークアップのウィジェットを強化するために、すべてのプラグイン(listview button、 selectなど)を手動で初期化する必要がありました。

簡単な作成イベントは、ページ作成拡張機能 の処理と同じように、そのマークアップ内のすべての必要なプラグイン を初期化します。 Ajaxを使用してHTML マークアップ(ログインフォーム)のブロックをロードする場合、自動的に作成して、 に含まれているすべてのウィジェット(この の入力とボタン)を拡張バージョンに変換できます。このシナリオのためのコードは次のようになります。

$(...new markup that contains widgets...).appendTo(".ui-page" 
).trigger("create"); 

リフレッシュ対作成:作成イベント といくつかのリフレッシュ方法との重要な違いがあることが重要な区別

注意をウィジェットは持っています。 createイベントは、1つまたは複数のウィジェットを含む生のマークアップを強化するために に適しています。プログラムによって操作された (すでに拡張されている)ウィジェットでは、一部のウィジェットが使用するリフレッシュ方法は であり、一致するようにUIを更新する必要があります。あなたは、動的データ・役割=ページ作成後にリストビューの属性、そのリストの親要素に作成トリガ で新しい 順不同リストを追加ページを持っていた場合

は例えば、希望は、書式付きリストビューにそれ 変換しますウィジェット。さらにリストアイテムが プログラムで追加された場合、リストビューの更新メソッドを呼び出すと、新しいリストアイテムのみが拡張状態に更新され、 既存のリストアイテムは変更されません。

関連する問題