2014-11-26 1 views
11

내가 JQuery와 데이터 테이블 및 사용하고있는 값 사용자는 검색된 데이터에 기초하여 상기 컨텐츠는 데이터 테이블을 검색 아래로 강하를 선택하고 필터링하고, 다시 그려 때 지금의 jQuery dataTables - 필터링되는 열에

mtTable.columns().each(function() { 
    mtTable.column(22).search(searchVal, true, true).draw(); 
}); 

을 검색이 완료된 후 모든 열 값을 가져 오려고하지만이 작업을 수행 할 수있는 함수를 찾을 수 없습니다. 현재 API에서 사용 중입니다.

var myTable = $("#tblResults").DataTable(); 
var resultsArray = myTable.columns(colIndex).data(); 

문서에 따르면 필터링되지 않은 열에서 모든 데이터가 반환됩니다. 필터링 된 데이터에 대해서만 열 값의 배열을 제공하는 함수를 찾을 수 없습니다.

답변

30

당신은 dataTables에 대한 모든 여기 selector-modifiers 고급 읽을 수 있습니다 ->http://datatables.net/reference/type/selector-modifier

만 필터링 된 행을 얻고 싶다면 :

table.rows({ search:'applied' }).data().each(function(value, index) { 
    console.log(value, index); 
}); 

특정 열을 대상으로, 만 필터링 값을 얻으려면 (특정을 요청) - 열 번호에서 여기 필터링 된 모든 값 2 : 모두

table.column(2, { search:'applied' }).data().each(function(value, index) { 
    console.log(value, index); 
}); 

참조 데모 ->

특정 컬럼에 대해 필터링 값 이상의 배열을 만들려면 :

var array = []; 
table.column(2, { search:'applied' }).data().each(function(value, index) { 
    array.push(value); 
}); 
console.log(array); 

참조 데모 ->http://jsfiddle.net/q0e1bdcz/1/

+2

감사합니다. table.column (2, {search : 'applied'}). data()를 사용하고 필요한만큼 충분하다. – foop

2

당신이 더 많은 수있는 경우도 고유의 취득 및 데이터를 분류 할 수 있습니다 항목.

// Datatable object 
var table = $('#example').DataTable(); 

// Get Unique and Sorted values. 
table.column(3, { search:'applied' }).data().unique().sort().each(function(value, index) { 
    console.log(value, index); 
}); 

참고 :이 또한 도움이 될 것입니다 http://www.jqueryscript.net/demo/DataTables-Jquery-Table-Plugin/examples/api/multi_filter_select.html

희망.