将工具提示添加到row.add()之后的数据表中

时间:2018-11-27 13:31:20

标签: javascript jquery html angularjs datatables

我应该在datatables行中添加工具提示

//initialize datatable
$scope.anomaliesTable = $('#sapTable').DataTable({
    //disable responsive
    responsive: true,
    //"bLengthChange": false,
    //deferRender:    true,
    scrollY:        '60vh',
    scrollCollapse: true,
    info:   false,
    paging : false,
    //scroller:       true,
    select: true,
    columns: [
        { data: 'can_name' },
        //other columns data
        ],
        columnDefs: [ 
            {
                "className": "dt-center", "targets": "_all"
            }, 
            ],              
});

该行是使用row.add方法从Web套接字预订中添加的

$scope.anomaliesTable.row.add(data).draw(false);

在另一个表中,数据是从ajax加载的,我使用了

rowCallback: function( row, data, index ) {
    row.setAttribute('data-toggle',"tooltip");
    row.setAttribute('data-placement',"left");
    row.setAttribute('title', 'UIID: ' + data.uuid);
}

,但是它不起作用,因为它添加了浏览器工具提示,并且仅在较旧的行上显示。你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

添加新行时,可以使用node() API方法获取新创建的节点。

var row = $scope.anomaliesTable.row.add(data).draw(false).node();

您可以使用rowCallback添加必要的data-属性,或在添加新行后添加它们,例如:

$(row).attr({
   'data-toggle': 'tooltip',
   'data-placement': 'left',
   'title': 'UIID: ' + data.uuid
});

然后您可以初始化工具提示插件,例如:

$('[data-toggle="tooltip"]', row).tooltip();