1. ホーム
  2. jquery

[解決済み] Datatable 日付ソート dd/mm/yyyy 問題

2023-02-09 09:01:37

質問

というJqueryプラグインを使っています。 データテーブル

素晴らしいのですが、dd/mm/yyyy形式で日付を正しくソートすることができません。

私は彼らのサポート形式を見ましたが、これらの修正のどれも動作しないようです。

どなたか助けていただけないでしょうか。

どのように解決するのですか?

2020年更新。HTMLソリューション

HTML 5 は非常によく開発され、ほとんどの主要なブラウザがそれをサポートしています。そのため、現在ではよりクリーンなアプローチとして HTML5データ属性 (maxx777 は PHP のソリューションを提供していますが、私はシンプルな HTML を使っています) . 今回のシナリオのような非数値データには data-sort または data-order 属性に、ソート可能な値を割り当てます。

HTML

<td data-sort='YYYYMMDD'>DD/MM/YYYY</td>

以下は を使用したHTMLソリューションです。

jQueryソリューション

以下は jQueryの解決策 .

jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"date-uk-pre": function ( a ) {
    var ukDatea = a.split('/');
    return (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
},

"date-uk-asc": function ( a, b ) {
    return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},

"date-uk-desc": function ( a, b ) {
    return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
} );
 

上記のコードをスクリプトに追加し、特定のカラムに日付の値を設定するために { "sType": "date-uk" } を、その他はnullとして、以下を参照してください。

$(document).ready(function() {
    $('#example').dataTable( {
        "aoColumns": [
            null,
            null,
            null,
            null,
            { "sType": "date-uk" },
            null
        ]
    });
    });