2011-12-21 7 views
1

私は、SQL文(HTML5-SQLを使用するブラウザデータベース)を指定したプログラムをjqueryモバイルページのフィールドに挿入します。 SQLステートメントは、URLを介して渡されたIDに基づいて変更されます。したがって、ボタン/リンクをクリックすると、index.html?id = 545という別のパラメータ値で同じページが呼び出されます。新しいページが読み込まれた後にテキストがレンダリングされない - JQuery Mobile

最初のページがシームレスに読み込まれますが、次のページへのリンクをクリックするとオブジェクト(ページ、ボタン、リンク、div)が表示されますが、これらのオブジェクト内のテキストは表示されません。

私は次のことを行うためのイベントをトリガするために$('div').live('pageshow',function(event, ui){イベントを使用しています:

$("#title").text(Title); 
$("#date").text(mdate); 

私はクロームデバッガのコンソールにタイトルとmdateの値を印刷するとき、それが正しい値を示しています。なぜ同じテキストがボタンやラベルに表示されないのか分かりません。

誰でも助けてくれますか?

ありがとうございました

答えて

2

jQMを使用する場合は、コントロールを更新する必要があります。ドキュメントです。ここ:jQueryのモバイルでフォーム要素
を更新

、いくつかの強化フォームコントロールは、単純に(入力)スタイルしているが、他のカスタム コントロール(選択されています、スライダー)は、 ネイティブコントロールから構築され、同期して保持されます。プログラミングでフォームコントロールを JavaScriptで更新するには、最初にネイティブコントロールを操作し、refresh メソッドを使用して、拡張コントロールに新しい 状態に一致するように自身を更新するように指示します。

チェックボックス:

$("input[type='checkbox']").prop("checked",true).checkboxradio("refresh"); 

ラジオ:

$("input[type='radio']").prop("checked",true).checkboxradio("refresh"); 

を選択ここでは一般的なフォームコントロールを更新する方法のいくつかの例があり、 は、refreshメソッドを呼び出します。

var myselect = $("#selectfoo"); 
myselect[0].selectedIndex = 3; 
myselect.selectmenu("refresh"); 

スライダー:

$("input[type='range']").val(60).slider("refresh"); 

フリップスイッチ(彼らはスライダーを使用):

var myswitch = $("#selectbar"); 
myswitch[0].selectedIndex = 1; 
myswitch.slider("refresh"); 

それはあなたが必要なページの場合は、これを試してみてください。

新しいマークアップに
を強化ページのプラグインは、ほとんどのウィジェットが自動初期化そのものを使用するpagecreateイベントを、送出します。ウィジェットプラグインスクリプトとして が参照されると、ページ上で見つかったウィジェットのインスタンスが自動的に拡張されます( )。あなたは Ajaxを介してコンテンツに新しいマークアップクライアント側または負荷を生成し、ページに注入場合

しかし、あなたは 新しい内に含まれるすべてのプラグインの自動初期化を扱う に作成したイベントをトリガすることができますマークアップ。これは任意の要素(ページ div自体さえ)でトリガーされ、各プラグイン (リストビューボタン、選択など)を手動で初期化する作業を保存します。

のAjax経由で をロードされたHTMLマークアップ(たとえば、ログインフォーム)のブロック場合たとえば、自動的 にそれが含まれている すべてのウィジェット(この場合は、入力やボタン)を形質転換するために作成するイベントをトリガは、拡張バージョン。このシナリオのコードは次のようになります。

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

Hey Phill、ありがとうございました。私はリフレッシュするための特別なコントロールはありません。私はh4タグとリンク/ボタンのみを使用しています。問題は、グラフィックをレンダリングしていないことです。設計期間中のすべてのオブジェクトが完全に表示されています。 listview( 'refresh')、$( 'refresh')、$( 'refresh')、$( 'refresh')を実行しようとしました。新しいページを読み込んだ後で動作するものはありません。他の提案。 – locorecto

+0

リンクがありますか? http://jsfiddle.net多分? –

+0

マイページが大きすぎてすべてを投稿できません。私は、データベースの生成を担当するコードでjsfiddleを生成し、テキストを取得して画面に出力しました。 http://jsfiddle.net/Vb8jE/1/あなたの助けをありがとう! – locorecto

関連する問題