Ich verwende das jquery tablesorter-Plugin zum Sortieren einer Tabelle. Auf meinem zeigen die Spalten in meiner Tabelle das Datum im Millimeter-/yyformat an.Verwenden von jQuery tablesorter zum Sortieren von MM/JJ-Daten
<tr>
<td class="col-name">...</td>
...
<td rel="2000" class="col-dob">10/00</td>
...
</tr>
<tr>
<td class="col-name">...</td>
...
<td rel="1986" class="col-dob">11/86</td>
...
</tr>
Hinweis:
- Jede Zelle verfügt über eine einzigartige Klasse
- Datum im MM/JJ-Format angezeigt wird
- Zelle mit Datum und das Jahr erhält
Mein jQuery-Code ist wie folgt:
// add parser through the tablesorter addParser method
$.tablesorter.addParser({
// set a unique id
id: 'user-birthdate',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
// format your data for normalization
var dateSplit = s.split('/');
if(2 !== dateSplit.length)
return 0;
return new Date(dateSplit[1], dateSplit[0], 1);
},
// set type, either numeric or text
type: 'numeric'
});
myClass.init = function() {
$('.module .user table').tablesorter({
sortList: [[0,0]],
widgets: ['zebra'],
headers: {
5: {
sorter:'user-birthdate'
}
}
});
}
myClass.init();
Mein Problem ist, dass der TableSorter 00 als Jahr 1900 statt 2000 interpretiert und daher die sortierten Daten nicht korrekt sind.
Irgendwelche Hinweise, wie kann ich das beheben? Ich benutze jQuery 1.2.6 und die neueste Version von tablesorter.
Danke David. Warten, um das am Montag zu testen. Wird hier aktualisiert. – hitec
Diese Lösung behebt mein Problem. Danke David. – hitec
Dies war auch nützlich beim Sortieren einer Datumsspalte, die einige leere Werte hatte. Danke für das Posten. –