1
DataTables의 컨텍스트에서 정렬 된 행의 인덱스를 얻으려면 어떻게해야합니까?정렬 된 행의 인덱스를 가져 옵니까?
열 4
(즉, 다섯 번째 열)에 메시지 번호가 포함 된 페이지 매김, 정렬 및 필터링 가능한 표가 있습니다. 현재 페이지를 해당 메시지 번호를 표시하는 것으로 전환하는 함수를 작성하고 해당 항목을 포함하는 행을 강조 표시합니다.
var currentHighlight = null;
function goToMessageNumber(number) {
var table = $('#messages').DataTable();
// remove current highlight
if (currentHighlight) {
$(table.row(currentHighlight).nodes()).removeClass('highlight');
}
// find the row we need
var index = table.column(4).data().indexOf(''+number);
if (index === -1) {
return;
}
currentHighlight = index;
// add new highlight
$(table.row(currentHighlight).nodes()).addClass('highlight');
// go to page
var page = Math.floor(currentHighlight/table.page.len());
table.page(page).draw(false);
}
테이블이 초기 정렬 순서에있는 경우 완벽하게 작동합니다. 그러나 필터 또는 정렬 적용 할 때이 실패합니다. 여기서 쉬운 해결책은 무엇입니까?
'
@squint : 예, [DataTables] (https://datatables.net/)에만 해당됩니다. – Claudiu
답변
현재
{ search: 'applied' }
주문에서every()
행을 반복 할 수 있습니다.이 값은 찾고자하는 값이있는 현재 페이지를 계산합니다. 여기서 특정 이름을 찾고 예시도이다데모 ->http://jsfiddle.net/1o3fLcqy/
Airi Satou
가 위치한 페이지로 상기 점프없이/필터링 정렬 (Airi Satou
됨 존재 가정 현재 행). # 5 열의 메시지 번호와 동일하게하십시오. 로우/<tr>
조작 대하여,
rowIdx
는 원래의 인덱스를 보유하고있다. 그래서 당신은 이것을 할 수 있습니다 :출처
2016-06-12 23:31:06 davidkonrad
관련 문제