ヘッダー付きの単純なテーブルがあり、DataTables プラグインを使用しています。
$('#uc-dashboard-top-customers .uc-dashboard-sortable').dataTable({
'aaSorting': [[1, "desc"]],
'sPaginationType': 'full_numbers'
});
2列目には、などの数値があります124.012, 9, 8.15, 16.5048
。次に、その列を数値で並べ替える必要がありますが、通貨としてフォーマットします1224,21 €
。たとえば、. サーバー側で値をフォーマットできましたが、Datatables によって文字列として並べ替えられます。
特定の列のフォーマットを定義する方法はありますか?
通貨のようなソートプラグインを使用しないのはなぜですか? 基本的に、文字列から浮動小数点値を抽出するだけで、あらゆる種類の通貨形式に適しています。
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"currency-pre": function ( a ) {
a = (a==="-") ? 0 : a.replace( /[^\d\-\.]/g, "" );
return parseFloat( a );
},
"currency-asc": function ( a, b ) {
return a - b;
},
"currency-desc": function ( a, b ) {
return b - a;
}
} );
var table = $('#example').DataTable({
columnDefs : [
{ targets: 0, type: 'currency' }
]
})
デモ -> http://jsfiddle.net/zfkcj8g2/
ソート プラグインは、dataTable の初期化方法、つまり DOM テーブル、JSON / 配列ソース、またはサーバーサイドに関係なく機能します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加