1

我正在尝试遍历我的 jQuery 数据表中的行以提取某些行信息并将其插入到我稍后将在 AJAX 调用中使用的数组中。

我知道我可以.each在 Datatables 中使用,但我只想要一些列(我在 JSON 中有不需要的 HTML 编辑/删除)

当前设置类似于:

//Create the array
var myArray = new Array();
var oTable = $('#myDataTable').dataTable();
var tableLength = oTable.fnGetData().length;

        //Step through table
        for (var i = 0; i < tableLength; i++) {
            myArray[i][0] = oTable.fnGetData(i, 0);
            myArray[i][1] = oTable.fnGetData(i, 1);
            myArray[i][2] = oTable.fnGetData(i, 3);
            myArray[i][3] = oTable.fnGetData(i, 4);
        }
//Stringify the object
jsonArray = JSON.stringify(myArray); 

也许我的语法是关闭的fnGetData?参考表确实说参数是(行,节点)。这是通过此表仅获取某些值的正确方法吗?

4

1 回答 1

4

如果你只想要 n 列:

oTable = $('#example').dataTable();
var secondCellArray=[];
$.each( oTable.fnGetData(), function(i, row){
    secondCellArray.push( row[1]);
})

另一种方法...但是您在单元格中获取html...您可以使用以下方法访问所有行:

var rows = $("#myTable").dataTable().fnGetNodes();
for(var i=0;i<rows.length;i++) {
//Get HTML of 3rd column (for example)
cells.push($(rows[i]).find("td:eq(3)").html()); 
}
于 2013-05-06T16:19:25.090 回答