0

Backgrid.jsを使用しようとしています。私はいくつかのグリッドを持っています (私はサーバーモードの例を取ります)。

このライブラリは、グリッドをうまく構築してくれました。しかし、いくつかのセルを同等のものにマップしたい。たとえば、"region_id"列があります。マップが欲しいregion_id -> region_name。このタスクを完了するために、イベントに登録しましたbackgrid:rendered

var grid = new Backgrid.Grid({
  /////

  collection: issues
});

grid.on('backgrid:rendered', function(g) { 
    $('tr').each(function (i, row) {

        var $row = $(row);

        console.log("Q");
    });
});

しかし、私は失敗します。私のテーブルの行を反復することはありません。しかし、これらの行はテーブルに存在します。何が問題ですか?

4

2 に答える 2

0

次の両方が当てはまることを確認します。

  • grid.render()メソッドを呼び出す
  • issues変数はレンダリング時に空でないコレクションを参照します
于 2014-10-27T17:17:11.030 に答える
0

残念ながら、Backgrid は、ヘッダー、フッター、およびテーブル自体が実際に画面に表示される前に、レンダリングされたイベントを発生させます。したがって、イベントがトリガーされたとき、DOM にはまだ行がありません。grid.render().$el ステートメントの後にコードを呼び出すことで問題を解決しました。このテーブルの後、DOM にする必要があります。少なくともヘッダー行があり、それで十分でした。

Backgrid 0.2.6 の古いバージョンで立ち往生しています。私の答えはその観点からであることを心に留めておいてください。

于 2015-03-05T17:30:28.200 に答える