0

pagecreate 初期化イベントを使用して、AJAX 呼び出しを行ってリストを作成する関数を呼び出しています。

私が抱えている問題は、このイベントが決して完了しないことです。ページの読み込みメッセージが持続します。

こことJqueryフォーラムで検索しましたが、運がありません。

私のコードは次のようになります。

$( "#events" ).live( 'pagecreate', function(event) {
    // Executed once the page is loaded
    var fromDate = new Date(),
        toDate = new Date(fromDate.getFullYear(), fromDate.getMonth() + 3, fromDate.getDate());
    update(fromDate, toDate);
    //alert('done');
});


function update(from, to) {

    var eventList = $('ul#event-list');

    $.ajax({
      url: 'events.php',
      dataType: 'json',
      data: {from: from, to: to},
      success: function(data) { 
        showEvents(data, from, to, eventList); // Create list items and append to eventList
        $('.value h2').formatCurrency({ negativeFormat: "-%s%n" }); // Format currency correctly using jQuery plugin
        }
    }); 
}

「a.Deferred は関数ではありません」というエラーが表示されます。これは、AJAX 呼び出しの完了と関係があることを示唆していますが、確認したところ、showEvents 関数がリスト項目を正しく作成しているため、ぶら下がっていません。

これを読んだ後、別の初期化イベントを試してみました: pageinit と changePage でさえ、成功しませんでした。

ご協力いただきありがとうございます。

問題を解決せずに、alert() が更新されたリストを正しく再フォーマットするように取得するコメントを外します。私は明らかに何が起こっているのか理解していないので、私はそれについて言及すると思います.

4

1 に答える 1

0

プロジェクトのロード時に一度だけコードを実行したい場合は、mobileinit を使用してください。プロジェクトで初めて pagecreate を実行するとき、ページと pagecreate のすべてのビューに対してpageshowを実行します。

于 2012-04-27T05:01:27.697 に答える