私はJQuery tablesorterプラグインを使用しています。テーブルには、05 Mar 2012
という形式の日付が表示されます。それが順番にそれをソートするためtablesorterプラグインは、テキストとして、この列を扱うように思わソート日付フィールドとテーブルリスト
- 2012年3月5日
- 2012年1月6日
- 2012年12月7日
私はこれらを並べ替えることができますどのように代わりに時系列で日付?
私はJQuery tablesorterプラグインを使用しています。テーブルには、05 Mar 2012
という形式の日付が表示されます。それが順番にそれをソートするためtablesorterプラグインは、テキストとして、この列を扱うように思わソート日付フィールドとテーブルリスト
私はこれらを並べ替えることができますどのように代わりに時系列で日付?
日付文字列を日付に解析し、ミリ秒に変換します。 tablesorterに列を数値でソートさせます。
$.tablesorter.addParser({
id: 'my_date_column',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
var timeInMillis = new Date.parse(s);
return timeInMillis;
},
// set type, either numeric or text
type: 'numeric'
});
$(function() {
$("table").tablesorter({
headers: {
6: { // Change this to your column position
sorter:'my_date_column'
}
}
});
});
Date.parseに問題がある場合は、see my answer to this questionです。
addParserメソッドを使用して、文字列をdateオブジェクトに変換するパーサーを作成する必要があります。
日付パーサが必要な場合は、プラグインのサイト http://tablesorter.com/docs/example-parsers.html
上の例は次のとおり
EDIT:あなたの日付が示すフォーマットで簡単に変換します。
console.log(new Date('05 Mar 2012'))// logs proper date object
はしていないが私は英国の似たような問題を覚えているようです。
カスタムdateformatを使用してtablesformerプラグインにdateformatパラメータを追加できます。
dateFormat: 'dd MMM yyyy'
日付の前に非表示のスパンタグを数値形式(yyyymmdd)で追加することもできます。このテキストは最初にソートに使用されますが、視覚に隠され、必要な書式のみが表示されます。
<td><span style="display:none">20130923</span>23rd September 2013</td>
これは私にとってはうまくいかなかった。代わりにこれらのプロパティを使用して、スパンにクラスを追加しました。position:absolute; \t top:0px; \t可視性:非表示;ソータは、それをエンドユーザに表示せずにテキストを読むことができました。 – user417669
これはすてきで簡単な解決策です+1 – karel
私はこれを試しましたが、違いはありませんでした。何列に日付が含まれているかを何らかの形で示す必要がありますか? –