【问题标题】:Add row to DataTable with custom attributes <td> tag使用自定义属性 <td> 标记向 DataTable 添加行
【发布时间】:2017-05-23 12:34:52
【问题描述】:

我正在尝试向 DataTable 动态添加一行,同时不仅指定表格单元格将保存的数据,还指定 &lt;td&gt; 标签将具有的属性。

现在我有这个代码

let row = [
        '1',
        model.name,
        model.surname,
        model.personal_id,
        model.phone_number,
        model.loan_total_amount+'&nbsp;'+model.currency_code,
        model.loan_current_liability+'&nbsp;'+model.currency_code,
        model.pay_date,
        model.transaction_id || '',
        statuses[model.status],
        `<ul class="icons-list">
            <li class="dropdown">
                <a href="datatable_basic.htm#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-menu7"></i></a>
                <ul class="dropdown-menu dropdown-menu-right">
                    <li><a href="datatable_basic.htm#"><i class="icon-paperplane"></i> send sms</a></li>
                    <li><a href="datatable_basic.htm#"><i class="icon-diff-removed"></i>mark as payd</a></li>
                </ul>
            </li>
        </ul>`
    ];

    let node = paymentsTable.row.add(row).draw();

我希望能够做这样的事情

paymentsTable.row.add([
   { html : 'some html', className: 'some class', data-whatever:'whatever' },
   { html : 'some another html', className: 'some class', data-whatever:'whatever' }
])

在这种情况下,添加行中的第一个单元格将包含“some class”的“some html”类的内容和“whatever”的数据-whatever

【问题讨论】:

  • 你不能。文档清楚地说明了这一点。使用createdCell 回调或在插入的节点上使用一些简单的链接。

标签: javascript jquery datatables


【解决方案1】:

当你在数据表中添加一行时,你可以得到这个新创建的row object,如下所示:

var rowNode = oTable
      .row.add([cellData, cellData, cellData, cellData, cellData, cellData])
      .draw(false)
      .node();

您可以将您的CSS class 注入此新创建行的所需td

$(rowNode).find('td:eq(1)').addClass( 'myClass' );
$(rowNode).find('td:eq(3)').addClass( 'myClass2' );

请参阅此JSFiddle Example 进行演示。

【讨论】:

  • 您甚至可以在一行中完成所有操作,这里是使用链接到极致的示例 -> table.row.add(['test', 'test2']).nodes().to$().find('td:eq(0)').addClass('someClass').attr('data-whethever', 'whatever').end().find('td:eq(1)').addClass('someOtherClass')jsfiddle.net/0f9Ljfjr/929 但我想我会创建一个小型的add() 插件,它完成了微不足道的工作。
猜你喜欢
  • 2013-06-04
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 2015-07-12
  • 2015-03-09
  • 2018-08-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多