2010-06-04 75 views
9

Hãy xem xét bảng của tôi với mười hàng và tôi muốn hiển thị ba hàng đầu tiên trong page1 và cứ thế ... Làm thế nào để phân trang một bảng bằng jquery? Bất kỳ plugin tốt nào ....Có thể Phân trang một bảng bằng jquery không?

+0

Vâng. Có một hướng dẫn hay tại đây: www.youtube.com/phpapplied – Norse

Trả lời

8

Có plugin để làm điều này:.

Ngoài ra, có một hướng dẫn tốt ở đây bao gồm tất cả các loại thao tác bảng trong jQuery bao gồm p agination: http://www.packtpub.com/article/jquery-table-manipulation-part1

+2

Thật không may , hai liên kết đầu tiên đã được di chuyển –

+0

Plugin jTable ở đây: http://plugins.jquery.com/jTable/ với nhiều thông tin hơn bao gồm các liên kết đến tài liệu tại đây: http://jtable.org/Home/Downloads. – John

1

Tóm lại, có.

Có plugin cho jquery pagination.

+1

Liên kết đã chết. – MisterBla

+0

Trang chủ mới của mã nguồn là https://github.com/gbirke/jquery_pagination Trang demo không còn hoạt động nữa - quá nhiều trang liên kết đến tệp js từ mã demo thay vì bản sao của riêng họ :( – chiborg

2

Ngoài ra còn có Pajinate.

Bạn cũng có thể chỉ cần đi đến the plugins phần của jQuery trang web và tìm kiếm từ khóa mà bạn đang quan tâm đến

0

Bạn có thể sử dụng plugin datatable. Nó rất hữu ích với tính năng tìm kiếm và số trang tùy chỉnh.

3

Tôi nghĩ đơn giản nhất là datatables. Link: http://www.datatables.net/ sử dụng "phân trang: true"

Vì vậy, mã sẽ là một cái gì đó như:

 $('#your-table').dataTable({ 
      "scrollY": "350px", 
      "scrollCollapse": true, 
      "bSort": false, 
      "paging": true 
     }); 
0
<table class="paginated"> 
    <thead> 
     <tr> 
      <th scope="col">A</th> 
      <th scope="col">B</th> 
      <th scope="col">C</th> 
      <th scope="col">D</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr>   
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr>   
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr>   
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr> 
<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
    <td>4</td> 
</tr>     
    </tbody> 
</table> 

-

<script> 
$('td', 'table').each(function(i) { 
    $(this).text(i+1); 
}); 



$('table.paginated').each(function() { 
    var currentPage = 0; 
    var numPerPage = 10; 
    var $table = $(this); 
    $table.bind('repaginate', function() { 
     $table.find('tbody tr').hide().slice(currentPage * numPerPage, (currentPage + 1) * numPerPage).show(); 
    }); 
    $table.trigger('repaginate'); 
    var numRows = $table.find('tbody tr').length; 
    var numPages = Math.ceil(numRows/numPerPage); 
    var $pager = $('<div class="pager"></div>'); 
    for (var page = 0; page < numPages; page++) { 
     $('<span class="page-number"></span>').text(page + 1).bind('click', { 
      newPage: page 
     }, function(event) { 
      currentPage = event.data['newPage']; 
      $table.trigger('repaginate'); 
      $(this).addClass('active').siblings().removeClass('active'); 
     }).appendTo($pager).addClass('clickable'); 
    } 
    $pager.insertBefore($table).find('span.page-number:first').addClass('active'); 
}); 
</script> 

-

<style> 
table { 
    width: 40em; 
    margin: 2em auto; 
} 

thead { 
    background: #000; 
    color: #fff; 
} 

td { 
    width: 10em; 
    padding: 0.3em; 
} 

tbody { 
    background: #ccc; 
} 

div.pager { 
    text-align: center; 
    margin: 1em 0; 
} 

div.pager span { 
    display: inline-block; 
    width: 1.8em; 
    height: 1.8em; 
    line-height: 1.8; 
    text-align: center; 
    cursor: pointer; 
    background: #000; 
    color: #fff; 
    margin-right: 0.5em; 
} 

div.pager span.active { 
    background: #c00; 
} 

</style> 

http://jsfiddle.net/LiquidSky/djav37tg/

Các vấn đề liên quan