循环遍历jQuery Datatable以获取特定列

时间:2013-05-06 15:50:03

标签: jquery loops datatables

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

我知道我可以在Datatables中使用.each,但我只想要一些列(我在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的语法已关闭?参考表确实说参数是(行,节点)。这是通过此表获取特定值的正确方法吗?

1 个答案:

答案 0 :(得分: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()); 
}