質問: jquery tablesorterでの日付の並べ替えの問題 2009-12-17 23:59:59.0のような列を持つテーブルをソートしようとしています。以下を使用してソートを適用しています$(document).ready(function() { $("#datatable").tablesorter(); } ); ただし、yyyy-mm-dd形式の日付では機能しません。このフォーマットを並べ替えに適用するにはどうすればよいですか?
回答: 新しいパーサーを作成する必要はありません変更をほとんど加えずに既存のパーサーを使用します。 1。以下のスクリプトが表示されるjqueryプラグインjsを開きます。今度は、最後のelseの日付形式(希望)を変更します。 -dd」。 ts.addparser({ id: "shortdate", is: function (s) { return /\d{1,2}\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s); }, format: function (s, table) { var c = table.config; s = s.replace(/\-/g, "/"); if (c.dateformat == "us") { // reformat the string in iso format s = s.replace(/(\d{1,2})[\/\-\/\-/, "$3/$1/$2"); } else if (c.dateformat == "uk") { // reformat the string in iso format s = s.replace(/(\d{1,2})\/\-\/\-/, "$3/$2/$1"); } else if (c.dateformat == "yy-mm-dd" || c.dateformat == "dd-mm-yy") { s = s.replace(/(\d{1,2})\/\-\/\-/, "$1/$2/$3"); } return $.tablesorter.formatfloat(new date(s).gettime()); }, type: "numeric" }); 2。次に、ジッターによって言及された最後のステップに従いますが、ほとんど変更しません。$(function() { $("table").tablesorter({ headers: { 6: { sorter:'shortdate' } } }); });