2013-05-06 34 views
1

我想通过我的jQuery数据表中的行循环来提取出某些行信息并将其插入到我的数组中,我将稍后在AJAX调用中使用它。通过jQuery数据表循环来获取特定列

我明白我可以使用在数据表中.each,但我只想要一些列的(我有HTML编辑/删除,我没有在JSON需要)

目前开设类似:

//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

如果只想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()); 
}