2008-10-14 44 views
13

Bất kỳ ai biết plugin hoặc chức năng được tích hợp sẵn để làm cho các cột trong bảng có thể sắp xếp được? tức là tôi nhấp vào tiêu đề cột và nó sắp xếp các hàng theo cột đó?Tiêu đề bảng jQuery sắp xếp

Trả lời

27

http://tablesorter.com/docs/ rất dễ sử dụng với nhiều tùy chọn cho phù hợp với nhu cầu của bạn. :)

+3

tablesorter là awesome –

+0

tablesorter! - http://stackoverflow.com/a/9535584/665387 có liên kết và video ví dụ –

1

Một nặng chút, nhưng người quản lý bảng jQuery cuối cùng là jqGrid

3

http://www.flexigrid.info/

Flexigrid là một người quản lý bảng rất phổ biến, và dễ dàng/sorter để sử dụng.

0

Plugin jquery giúp sắp xếp, lọc và phân trang: breedjs

Ví dụ:

Đặt các dữ liệu trong một đối tượng js để làm giống như vậy:

var data = { 
    people: [ 
     {name: 'a', address: 'c', salesperson: 'b'}, 
     {name: 'b', address: 'b', salesperson: 'a'}, 
     {name: 'c', address: 'a', salesperson: 'c'}, 
    ] 
}; 

breed.run({ 
    scope: 'people', 
    input: data 
}); 

HTML:

<table> 
    <thead> 
     <tr> 
      <th sort='name'>Name</th> 
      <th sort='address'>Address</th> 
      <th sort='salesperson'>Sales Person</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr b-scope="people" b-loop="person in people"> 
      <td b-sort="name">{{person.name}}</td> 
      <td b-sort="address">{{person.address}}</td> 
      <td b-sort="salesperson">{{person.salesperson}}</td> 
     </tr> 
    </tbody> 
</table> 

Bây giờ, mỗi khi bạn muốn sắp xếp theo nhân viên bán hàng, chỉ cần gọi nó là:

breed.sort({ 
    scope: 'people', 
    selector: //field name 
}); 

Xem:

$("th").click(function(){ 
    breed.sort({ 
     scope: 'people', 
     selector: $(this).attr('sort') 
    }); 
}); 

Working example on fiddle

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