2012-02-17 9 views
1

私は確かに何かを明らかにしていません。私はJQuery - 動的テーブルの更新

私が移入され、アプリケーションの残りのAPIを介して取得したJSONデータこのすべてがmakeTable(呼び出された関数で発生

)からテーブルの内容をロードしてるアプリ固有のコードの膨大な量を掲示せずに問題を説明することができます願って既存のテーブルと空のtbodyを持つ各tr - 問題はありません...

次に、テーブルを再度実行して、各テーブル行の1つのセルを更新するために、さらに多くのajax呼び出しを実行する必要がありますそれは内容ですこれはしばらく時間がかかりますので、テーブルをレンダリングして、2番目のデータが入ったときに更新してください。これを、関連するTDのデータを更新するJQueryを使用してテーブルを反復するupdateTable()という関数で行います。 .appendの罰金

そう...

$(document).ready(function(){ 
makeTable(); 
updateTable(); 
}); 

マイuderstandingが、それはすぐに更新していることである動作します。実際に何が起こっていることの表は、updateTable内のすべてのコードが

を完了するまで表示された私は(安っぽい擬似コードで)起こるしたいことはうまくいけば、それは

答えて

1
で動作するように十分だ

When DOM is ready { 
    call makeTable function 
    display the table for the user 
    call updateTable function 
    } 

ですされていないということです

コールupdateTableはsetTimeout(..., 0)

setTimeout(function() { 
    updateTable(); 
}, 0); 
+0

この種の反復的なものには、setIntervalを使用する必要があります:) https://developer.mozilla.org/en/window.setInterval –

+0

これは何度もやることを求められていません。処理中に表示されたデータを更新します。 – Fox32

+0

ああ、私の悪い、それで:) –

0

にAJAXするonSuccess関数でコールバック関数を使用してみてください。

だから、makeTable関数が実際に実行されるときに、ユーザーのためのテーブルを表示し、それがいつ@ Fox32のようにタイムアウトを使ってテーブルを更新したと言います。

backbone.jsは、この種のものには本当に良いでしょう。

+0

ありがとう - 私は単純化のためにタイムアウトオプションを使っていました(私は怠惰です)。バックボーンを見たことはありません.js前 - 面白そうです –

関連する問題