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 回答