2012-03-01 8 views
0

私はdatatable jQueryプラグインを使用しています。テキストと数値を含む列をソートするとうまく動作しますが、日付値を含む列のソートに問題があります。Datatable jQueryプラグインを使用して日付値をソート

たとえば、私は、日付欄をクリックしたとき、私は得る:

01-03-2012 
27-02-2012 
29-02-2012 
... 
... 

本当の順序は次のようにする必要がありますしかし:

01-03-2012 
29-02-2012 
27-02-2012 

NB:私は、フランスの日付形式d-m-Yを使用しています。

答えて

1

Sorting plug-ins pageを見ましたか?

以下は、そのページから直接コピーされます。

日(DD/MM/YY):あなたはなく、仕事のほとんどがあなたのために行われている(、などを-に、例えば分割をよりむしろ/)コードを少し微調整する必要がある場合があります

DataTablesの内部日付Date.parse()(これは、 のJavascript言語の一部です)の回答をソートしますが、 が認識できない日付を並べ替えることができます。以下は、 形式の日付をソートするためのプラグインです.dd/mm/yyです。 にタイプ検出プラグインが用意されているため、必要に応じてこのタイプのソートが自動的に選択されます。

jQuery.fn.dataTableExt.oSort['uk_date-asc'] = function(a,b) { 
    var ukDatea = a.split('/'); 
    var ukDateb = b.split('/'); 

    var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1; 
    var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1; 

    return ((x < y) ? -1 : ((x > y) ? 1 : 0)); 
}; 

jQuery.fn.dataTableExt.oSort['uk_date-desc'] = function(a,b) { 
    var ukDatea = a.split('/'); 
    var ukDateb = b.split('/'); 

    var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1; 
    var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1; 

    return ((x < y) ? 1 : ((x > y) ? -1 : 0)); 
}; 
+0

助けに感謝の男、私はそれを感謝:) –

+0

@IdilassiJassiを:あなたは、あなたのプロジェクトに歓迎:)幸運です! –

+0

thxもう一度私のfreind :) –

関連する問題