这与数据表1.10.x有关。

我正在使用this引用创建子行,并且很容易将HTML放入生成的javascript代码中,如下所示:

function format ( d ) {
    return '<div class="slider">'+
    '<table id="expandInput" cellpadding="5" cellspacing="0" border="0" style="margin: 0 auto;">'+
        '<tr>'+
            '<td class="dropHeader">Cost</td>'+
            '<td class="dropInfo"><input required type="text" id="cost" name="cost" value="'+d.cost+'"></input></td>'+
        '</tr>'+
    '</table>'+
   '</div>';
}

但这只会影响点击产生的 child 。我不知道如何为数据表本身生成的单元格使用标准数据表语法创建idname。我能够在datatables网站上找到的唯一示例与使用服务器端创建id有关
var table = $('#ltc-table').DataTable( {
    "data" : json,
    "columns" : [
      { data : 'cost' },
      { data : 'resale' }
  ],
  "columnDefs": [
  { className: "details-control", "targets": [ 0 ] }
  ]
});

我知道我可以使用td设置一个columnDefs的类,如here所示,但是我不知道如何添加其他条件,并且我需要为每个生成的td设置一个唯一的idname

最佳答案

每当为表主体创建TR元素时,都需要使用createdRow属性定义回调。

$('#example').dataTable( {
   "createdRow": function ( row, data, index ) {
      $('td', row).eq(1).attr('id', 'td-' + index + '-1');
   }
});

代码$('td', row).eq(1)用于使用基于零的索引选择表行中的第二个单元格(第二个单元格的1)。代码attr('id', 'td-' + index + '-1')将把该单元格id属性设置为第一行为td-0-1,第二行为td-1-1,等等,其中index是从零开始的行索引。

请参见this JSFiddleRow created callback example进行演示。

关于javascript - 发出在DataTables 1.10.x中设置TD ID/名称的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30537080/

10-15 22:52
查看更多