DataTables 1.10.5 Ajax - 如何向TR或TD添加参数?

时间:2016-01-31 17:48:38

标签: php jquery json ajax datatables

我想用AJAX加载数据表数据,并在行和单元格(类或数据属性)中添加一些参数。最棘手的部分是我有一个创建javascript的PHP助手。例如:

$datatables = array(
            'type' => array(
                'bAutoWidth' => false,
                'ajax' => site_url('admin/parameters/area_add_type_table_data_ajax/' . $t_id),
                'paging' => false,
                'searching' => true,
                'columns' => array(
                    array('width' => '20%', 'class' => 'text-center')
                ),
                'info' => true,
                'scrollX' => true,
            ),
        );

这个PHP数组是JSON编码的,并创建显示表的javascript。

ajax源也退出JSON编码的数组,例如:

$data = array('data' => array(array('SOME TEXT HERE...'), array('SOME TEXT IN ANOTHER ROW...')); exit(json_encode($data);

此代码生成的一行是:

<tr role="row" class="odd"><td class="text-center">SOME TEXT HERE...</td></tr>

但是我需要添加一些&#34;参数&#34;到最后一行(tr)和一些单元格(tds)(双星号中的属性)。

<tr role="row" class="odd" **data-id="##"**><td class="text-center" **data-content="unit_short" data-id="##"**>SOME TEXT HERE...</td></tr>

这些ID取决于行中的当前数据,因此它们是可变的。

(我为一行代码示例道歉)

感谢您的帮助。如果不能用我的&#34; PHP-way&#34;来做,至少在纯JS中写一个解决方案。

1 个答案:

答案 0 :(得分:1)

我不知道您的PHP帮助程序是如何工作的,但您可以使用createdRow回调来执行此操作:

createdRow: function(tr, data, index) {
   $(tr).attr('data-id', '##');
   $('td', tr).eq(1)
              .attr('data-content', 'unit_short')
              .attr('data-id', '##')
}

问题不清楚##是什么以及它来自何处,但这至少是要走的路。如果没有index,则可以使用##