2008-10-14 4 views
13

Jeder weiß von einem Plugin, oder eine eingebaute Funktion, um die Spalten in einer Tabelle sortierbar zu machen? d. h. ich klicke auf den Spaltenkopf und sortiert die Zeilen nach dieser Spalte?jQuery Tabelle Header sortieren

Antwort

27

http://tablesorter.com/docs/ ist sehr einfach zu bedienen mit einer breiten Palette von Optionen für Ihre Bedürfnisse. :)

+3

tablesorter ist genial –

+0

tablesorter! - http://StackOverflow.com/a/9535584/665387 hat Link und Beispielvideo –

1

Ein kleines Schwergewicht, aber der ultimative Manager jQuery Tabelle ist jqGrid

0

Ein jquery-Plugin, das Sortierung, Filter und Paginierung macht: breedjs

Beispiel:

die Daten in einem js Objekt Setzen Sie genau das zu tun, wie so:

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> 

Jetzt, jedes Mal wenn Sie nach Verkäufer sortieren wollen, nur rufen Sie es an:

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

Siehe:

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

Working example on fiddle