jQuery Datatables插件:如何在向表中添加行时指定行属性

Meg*_*att 8 jquery datatables

我想知道是否有其他人遇到过这个问题.当我最初在我的视图中构建我的表时,我customerID在每个表行中使用自定义属性(调用它)来保存我需要传递给ajax调用的信息.但是,我也在动态地向表中添加行,我无法弄清楚如何传回相同的信息(customerID)以放入行的属性中.目前,我在添加行时唯一要做的就是构建一个字符串数组数组,这些数组完全映射到我的列.这样可以正常工作,但没有空间发回额外的信息.

我想我不需要将它存储在属性中,如果在添加行时有另一种方法将该信息发送回视图.有没有人对此有任何想法?

谢谢.

Meg*_*att 1

我能够通过使用插件的内置函数逐行循环来解决这个问题。在服务器上,我创建了一个私有类,其中包含返回客户端后所需的所有信息的字段。这包括表格单元格的实际值,还包括要放置在属性中的信息。我创建一个列表(一个对象 = 一行信息),序列化它们,然后将它们发送回调用 ajax 方法。下面的代码假设我已经收到返回的序列化对象字符串,并且我在 JS 中:

function(rowsToAdd) {

    var rowList = JSON.parse(rowsToAdd); // rows come back as object representations of table rows, with properties

    $.each(rowList, function(index, row) {
        var rowStringArray = [row.Prop1, row.Prop2, row.Prop3, row.Prop4];
        var rowPos = tableObject.fnAddData(rowStringArray); // add the row through the plugin, and receive the row's index in return
        var tableRowElement = tableObject.fnGetNodes(rowPos[0]); // get reference to <tr> element just added

        $(tableRowElement).attr('attributeINeeded', row.AttributeProp).attr('anotherAttributeINeeded', row.AttributeProp2);
    });
}
Run Code Online (Sandbox Code Playgroud)