如何在DataTables中添加课程?

时间:2017-10-04 09:02:28

标签: jquery datatables

我尝试在datatable中使用<tr class="bill-row">获取每行的值。那么如何在数据表中设置class="bill-row"?所以我可以用

调用ech行
var row = $(".bill-row");

            row.each(function(i) {
                data.bill_number.push($("[name='bill_number[]']", this).val());
                data.service_charge.push($("[name='service_charge[]']", this).inputmask('unmaskedvalue'));
                // data.water_usage.push($("[name='water_usage[]']", this).inputmask('unmaskedvalue'));
                data.meteran_akhir_air.push($("[name='meteran_akhir_air[]']", this).inputmask('unmaskedvalue'));
                data.meteran_akhir.push($("[name='meteran_akhir[]']", this).inputmask('unmaskedvalue'));

将class设置为datatable,如下所示

<tr class="bill-row" role="row">
  <td></td>
</tr>

默认数据表

<tr role="row">
  <td></td>
</tr>

这里是我为<tr>设置课程的数据表但是没有工作

    createdRow: function( row, data, dataIndex ) {
        $(row).addClass('bill-row');
    },

2 个答案:

答案 0 :(得分:3)

使用createdRow选项是正确的方法。

例如:

$('#example').DataTable({
  'createdRow': function( row, data, dataIndex ) {
      $(row).addClass( 'bill-row' );
  }
});

但是,您正在错误地检索行。使用$(".bill-row")将仅返回当前页面上的行。

替代使用$() API方法。

例如:

var row = $('#example').DataTable().$('.bill-row');

答案 1 :(得分:0)

我喜欢rowCallback选项:

table = $('#resultTable').DataTable({
    aaSorting: [],
    ajax: {...},
    columnDefs: [...],
    rowCallback: function (row, data) {
        if (data.IsDeleted) {
            $(row).addClass('redRow');
        }
    }
});

如此DataTables form page所示。