排序我的数据表时出错了。 Datatable正在检测和解释我的列中的字符串以进行排序。
示例:一个包含用户姓氏的列,我的一个用户被称为" Decxxxxx",Datatable正在检测第一个3个字母" Dec"在我的用户姓氏中,并将我的列解释为日期(12月> 12月),即使我将TypeDefs中的类型强制为String而不是日期也不执行任何操作。
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"date-euro-pre": function ( a ) {
var x;
if ( $.trim(a) !== '' ) {
var frDatea = $.trim(a).split(' ');
var frTimea = frDatea[1].split(':');
var frDatea2 = frDatea[0].split('/');
x = (frDatea2[2] + frDatea2[1] + frDatea2[0] + frTimea[0] + frTimea[1] + frTimea[2]) * 1;
}
else {
x = Infinity;
}
return x;
},
"date-euro-asc": function ( a, b ) {
return a - b;
},
"date-euro-desc": function ( a, b ) {
return b - a;
}
});
var oTable = jQuery('.dataTable').dataTable({
"iDisplayLength": 10,
"aaSorting": [[ 1, "asc" ]],
"bFilter": true,
"bRetrieve":true,
"columns" : columnDefs,
"aoColumns": columnSort,
"aLengthMenu": [
[10, 25, 50, 100, -1],
[10, 25, 50, 100, "tous"]
]}
);
with:
columnDefs = [null, null, null, null, null, Object { sType="date-euro"}, null, null](ligne 940)
columnSort = [Object { bSortable=false}, null, null, null, null, null, Object { bSortable=false}, Object { bSortable=false}]
该列被指控的是第二名。
错误:"错误:月份字符串无效"在第二列colunm的第一行,价值为#34; Declercq"含有" Dec"来自" 12月"。
答案 0 :(得分:0)
这是一个mootools bug。你会找到一个解释和 如果您阅读以下文章的解决方案: