Tôi có một DataTable với hàng trăm mục có tùy chọn 50 iDisplayLength cố định. Tôi cần để có thể tìm thấy những gì trang một hàng cụ thể là trong các nút được nạp.jQuery DataTables - lấy trang của một hàng nhất định
Tất cả những gì tôi đã quản lý là nhận vị trí, rất tiếc là vị trí hàng nội bộ không tương ứng với chỉ mục hàng với sắp xếp và lọc hiện tại.
Ví dụ ở đây trên jsFiddle. Tôi có thể lấy lại vị trí hoặc hàng # TR4 (vị trí 3) nhưng iDisplayStart tôi cần là 2.
<table id="example">
<thead>
<tr>
<th>ID</th>
<th>Rendering engine</th>
<th>Browser</th>
<th>Platform(s)</th>
<th>Engine version</th>
<th>CSS grade</th>
</tr>
</thead>
<tbody>
<tr id="tr1" class="odd gradeX">
<td>1</td>
<td>Trident</td>
<td>Internet Explorer 4.0</td>
<td>Win 95+</td>
<td class="center"> 4</td>
<td class="center">X</td>
</tr>
<tr id="tr2" class="even gradeC">
<td>2</td>
<td>Trident</td>
<td>Internet Explorer 5.0</td>
<td>Win 95+</td>
<td class="center">5</td>
<td class="center">C</td>
</tr>
<tr id="tr3" class="odd gradeA">
<td>3</td>
<td>Trident</td>
<td>Internet Explorer 5.5</td>
<td>Win 95+</td>
<td class="center">5.5</td>
<td class="center">A</td>
</tr>
<tr id="tr4" class="even gradeA">
<td>4</td>
<td>Trident</td>
<td>Internet Explorer 6</td>
<td>Win 98+</td>
<td class="center">6</td>
<td class="center">A</td>
</tr>
<tr id="tr5" class="odd gradeA">
<td>5</td>
<td>Trident</td>
<td>Internet Explorer 7</td>
<td>Win XP SP2+</td>
<td class="center">7</td>
<td class="center">A</td>
</tr>
</tbody>
</table>
var oTable = $("#example").dataTable({
"sDom": '<"clear">rtip<"clear">',
"bPaginate": true,
"iDisplayLength": 2,
});
var row = $(oTable.fnGetNodes()).filter("#tr4");
console.log(row[0]);
var position = oTable.fnGetPosition(row[0]);
console.log(position);
console.log(oTable.fnSettings()._iDisplayStart);;
// position is 3 but the page displayStart I need is 2.
Tôi muốn thêm bạn có thể ommit oSettings được thông qua và lấy nó trực tiếp từ đối tượng bảng thay thế. Làm cho nó sạch hơn một chút, do đó bạn không cần phải có được thiết lập mỗi lần bằng tay. –
OK, tôi cần chính xác, nhưng làm cách nào tôi có thể sử dụng? Ý tôi là, làm thế nào tôi có thể vượt qua hàng? Làm thế nào tôi có thể gọi chức năng này? – maiky