2013-05-16 14 views
5

Ich würde nicht wollen, um meine Tabelle wie sellersorter zu sortieren, weil es ein Overhead für gewünschte Funktionalität wäre.Sortieren von Tabellen nach Spalten jquery

Ich möchte meine Tabelle nur einmal sortieren, wenn die Seite geladen wird Ich möchte nicht, dass diese Funktion ständig verfügbar ist.

Also stellen Sie sich vor, wenn ich habe Zeilen mit jeweils k Spalten und k # 2 ist die, die ich für diese Sortierung verwenden möchte, so würde meine Sortierung würde auf dieser Spalte in absteigender Reihenfolge Ich möchte ihre Zeilen sortieren.

Etwas wie folgt aus:

 var $rows = $("#score-table tr"); 
      $.each($rows, function(index, row) { 
       //sort table 
      }); 
+0

Dieser ist verylightweight getan: http://joequery.github.io/Stupid- Table-Plugin/ – RaphaelDDL

+0

Worüber möchten Sie es sortieren? Klassenname, ID, Textwert, etc ...? – blackhawk

Antwort

14

Nun, wenn Sie wissen, welche Spalte Sie auf Sie sortieren leicht die Tabelle sortieren können mit Hilfe von Javascript des sort function

var $tbody = $('table tbody'); 
$tbody.find('tr').sort(function(a,b){ 
    var tda = $(a).find('td:eq(1)').text(); // can replace 1 with the column you want to sort on 
    var tdb = $(b).find('td:eq(1)').text(); // this will sort on the second column 
      // if a < b return 1 
    return tda < tdb ? 1 
      // else if a > b return -1 
      : tda > tdb ? -1 
      // else they are equal - return 0  
      : 0;   
}).appendTo($tbody); 

Wenn Sie möchten, aufsteigend Sie müssen nur umkehren die > und <

Wenn sie nur Zahlen sind, können Sie einfach a-b tun für aufsteigend oder b-a für

Nach dem absteigend sortieren abgeschlossen ist es nur, um den Körper anhängen zurück und Ihr

FIDDLE

Verwandte Themen