使用行.添加带有复选框的for数据表

Use row.add for datatable with checkboxes

本文关键字:复选框 for 数据表 添加      更新时间:2023-09-26

我使用下面的代码填充和生成复选框数据表的行:

    var array = [...];
    $datatable = $('#datatable-checkbox');
    // checkboxes
    $datatable.dataTable({
      'order': [[ 1, 'asc' ]],
      'columnDefs': [
        { orderable: false, targets: [0] }
      ]
    });
    for(int i in array) {
        var name = array[i][0];
        var message = array[i][1];
        var num = array[i][2]; 
        $datatable.DataTable().row.add([
            name,
            message,
            num
        ]).draw( false );
    }

但是,行(name)中的第一个数据字段似乎取代了复选框,就好像行是空的一样。

我的问题是,有没有一种方法来添加数据到一行,而忽略第一列?或者将复选框添加回第一列?

我可以简单地修复它:

$datatable.DataTable().row.add([
    '<input type="checkbox"></input>',
    name,
    message,
    num
]).draw();

当您使用数组填充行值时,只需插入一个空白值,然后使用edit方法填充它

$datatable.DataTable().row.add([
            name,
            '',
            ''
        ])

回答你的问题Or to add checkboxes back to the first column?。可以,您可以在插入后使用以下命令编辑特定行的数据:

var myTable = $('#myTable').DataTable();
myTable.row( ':eq(0)' ).edit( {
    name: 'Edit first row name object'
} );