我有一个用户网格,其中一列包含总计截止日期。我正在追加' $'符号到行中的每个到期值。现在数据表将此列视为字符串并将其排序为字符串。如何将字符串类型转换为整数类型。
值如下:
Due
---
$88.00
$0.00
$0.00
$942.99
$0.00
$230.00
$0.00
$84.60
当我点击排序按钮时,它就像
一样排序Due
---
$0.00
$0.00
$0.00
$0.00
$0.00
$230.00
$84.60
$88.00
$942.99
我想要结果如下
Due
---
$0.00
$0.00
$0.00
$0.00
$0.00
$84.60
$88.00
$230.00
$942.99
这种情况正在发生,因为' $'符号。但我需要那个符号。我在这里看到了一些文档https://datatables.net/reference/option/columns.type,但这对我没用。
答案 0 :(得分:1)
我建议您使用currency sorting plugin,这是一个非常小的附加组件:
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;
}
});
包含该代码,或通过CDN引用它,并在columnDefs中将您的columnn指定为类型货币:
columnDefs: [
{ type: 'currency', targets: 0 }
]
其中targets
是列索引; targets
也可以是列索引数组,例如[3, 8, 12]
。
演示(通过CDN使用货币插件) - >的 http://jsfiddle.net/3tdcje7y/ 强>