2012-07-16 5 views
0

현재 Datatables를 사용하여 다양한 정보 행을 가진 세 개의 열을 표시하고 있습니다.Datatables에서 보이는 데이터 가져 오기

열 머리글을 클릭하면 해당 열을 기준으로 테이블이 정렬되도록 테이블이 설정됩니다. fnGetData를 사용하여 이제 표시된 데이터를 가져 오려고합니다. 그러나, 내 시도 단순히 테이블을 초기화 할 원래 데이터를 반환합니다.

이것은 대략 코드가 어떻게 생겼는지 :

http://legacy.datatables.net/api#fnGetData

별 :

$("#example").click(function() { 
      oTable = $('#' + tableName).dataTable(); 

       var secondCellArray=[]; 
       $.each(oTable.fnGetData(), function(i, row){ 
        secondCellArray.push(row[0],row[1],row[2]); 
      }) 

      console.log(secondCellArray) 
}); 

답변

-1

fnGetData 방법은 데이터를 추출 할 수있는 올바른 (대한 Datatables 버전 < = 1.10) 방법입니다 그 기능을하는 문서는 다음과 같습니다 :

제공되는 매개 변수를 기반으로 전체 표, 개별 행 또는 개별 셀에 대한 데이터를 가져옵니다. 내 원래의 대답은 (오래 전에 나를 위해 일한) 인수없이 fnGetData를 사용하여 언급하고, 문서는 제안 :

oTable = $('#example').dataTable(); 

oTable.$('tr').click(function() { 
    var data = oTable.fnGetData(this); 
    // ... do something with the array/object of data for the row 
}); 

참고 : 여기에

는 문서에서 예제 ("전체 테이블에 대한 데이터") 여전히 작동해야하지만, 그 대답은 투표가 취소되고 문서가 특별히 사용법의 예를 제공하지 않기 때문에, 나는 그런 식으로 사용하는 것을 권장하지 않을 것입니다.

물론

는 이전 Datatables은 (당신이 이전 Datables 중심으로 코드를 많이하지 않는 한) 가장 좋은 건 (최신 버전으로 업그레이드하거나 다른 테이블에하는 것입니다 종류 그래서 대부분의 끔찍한/그리드 라이브러리 전체).

-1

밑줄 (_) 방법이 특히 유용합니다. 과거에는 나에게 잘 돌아갔다. 객체 배열을 반환합니다.

oTable._('tr', {"filter":"applied"});