我正在使用jQuery数据表来显示表中的一些数据。我的表包含数据,如字符串,货币,日期和数字。
当我尝试对日期,货币和数字列进行排序时,data-table认为它是一个字符串并对其进行排序。但我想按类型排序。
col1 | col2 | col3
Jack | 2013-12-23 | 10,230
Jack2 | 2013-11-1 | 1,480
我看过Google和官方网站,所有人都在讨论一些代码,但我是数据表的新手,我需要帮助。
答案 0 :(得分:0)
Here's a sample使用DataTables sorting plugin对日期和逗号格式数值进行排序。
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"numeric-comma-pre": function (a) {
var x = (a == "-") ? 0 : a.replace(/,/, ".");
return parseFloat(x);
},
"numeric-comma-asc": function (a, b) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"numeric-comma-desc": function (a, b) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
},
'us_date-asc': function (a, b) {
var x = new Date(a),
y = new Date(b);
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
},
'us_date-desc' : function (a, b) {
var x = new Date(a),
y = new Date(b);
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
}
});
$(document).ready(function () {
$('#example').dataTable({
"sPaginationType": "full_numbers",
"aoColumns": [
{"sType": "us_date"},
null,
null,
{"sType": "numeric-comma"},
null]
});
});
在这个演示中,我没有包含排序插件。相反,我通过内联添加排序插件代码扩展了排序功能。