Den jQuery tablesorter kennen bestimmt viele, ich benutze diesen sehr häufig und gern. Allerdings kann das Ding von Haus aus nicht nach dem deutschem Datumsformat (dd.mm.yyyy [hh:mm]) richtig sortieren.
Hier dazu mein „Plugin“, dass in die entsprechende JavaScript Datei gehört:
$.tablesorter.addParser({ id: 'germanDate', is: function(s) { return false; }, format: function(s) { var dateMatches = s.match(/([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{2,4}) ([0-9]{1,2}):([0-9]{1,2})/i); return dateMatches[3]+dateMatches[2]+dateMatches[1]+dateMatches[4]+dateMatches[5]; }, // set type, either numeric or text type: 'numeric' });
$('#tblApps').tablesorter({
sortList: [[1,0]],
headers: {
0: { sorter: false },
2: { sorter: 'germanDate' },
3: { sorter: false }
}
});
Damit kann mein Frontend nun auch innerhalb von Tabellen nach Terminen im deutschen Datum richtig sortieren.
Vielen Dank! Genau, was ich gesucht habe 😀 Nur eine Nachfrage: Wenn ich den Codeschnipsel in die tablesorter.js einbinde, passiert original gar nichts. Bekommt das „Plugin“ eine eigene JS-Datei bzw. an welcher Stelle wäre es denn richtig verortet?
@jose: Schreib es in eine eigene .js Datei und lade diese direkt nachdem du den tablesorter lädst 😉