开发者问题收集

DataTables Ajax 加载回调

2017-01-06
7152

我有一个通过 AJAX 获取数据的 DataTable,除了 JSON 对象的 data 成员之外,我还有一个额外的 info 字段,用于确定行颜色等。

我通过 ajax.reload 回调很好地利用了这个信息字段,但这个回调不会在初始表加载时调用。我尝试使用 XHR 处理程序,但它是在绘制表之前调用的,因此我得到了 JSON 对象,但还没有得到尚未呈现的表内部信息。

有人能给我指出一个在初始表绘制操作后可以访问 JSON 对象的回调函数示例吗?例如。与 ajax.reload 非常相似,只是没有“re”?

谢谢

2个回答

正如您在回复 Angelo 的回答时提到的那样,使用 initComplete 选项。

$('#example').dataTable( {
  "initComplete": function(settings, json) {
    var info = json.info;
    // do whatever with info here...
  }
} );
aaaantoine
2019-02-15

您可以使用 drawCallback 函数,如这里所述 https://datatables.net/reference/option/drawCallback

否则,您可以使用“columnDefs”函数,尝试获取整行并将您的 css 添加到其中。例如(未经测试,但应该有效)

$("#myTable").DataTable({

                    "deferRender": true,
                    "columnDefs": 
                    [
                        {
                            "render": function ( data, type, row ) 
                            {
                                var tr = $(this).closest('tr');
                                //Now yuo should have the row
},
                            "className":"colonnaElencoMessaggi",
                            "name":"deviceMessages",
                            "orderable":false,
                            "targets": 2
                        }
                    ]
                });

我希望这能有所帮助

Angelo

Angelo Immediata
2017-01-06