我正在尝试遍历我的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
的语法已关闭?参考表确实说参数是(行,节点)。这是通过此表获取特定值的正确方法吗?
答案 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());
}