2013-05-06 3 views
1

특정 행 정보를 꺼내 나중에 내 AJAX 호출에서 사용할 배열에 삽입하려면 jQuery datatable의 행을 반복합니다.특정 열을 얻으려면 jQuery Datatable 루프 반복

은 내가 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 오프입니까? 참조 시트는 매개 변수가 (행, 노드)라고 말합니다. 이 테이블을 통해 특정 값만 가져 오는 올바른 방법입니까? 당신은 단지 N 열하려면

답변

4

:

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()); 
}