排序数据表时出错。Datatable正在检测和解释我的列中的字符串以进行排序。
示例:一个有用户姓氏的列,我的一个用户名为"Decxxxxx",Datatable检测到我的用户姓氏中的前3个字母"Dec",并将我的列解释为日期(Dec>Dec),即使我强制TypeDefs中的类型为字符串而非日期,它也不会起任何作用。
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"]
]}
);
带有:
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的第一行,值为"Declercq",包含"december"中的"Dec"。
这是一个mootools错误。你会发现一个解释和解决方案,如果你阅读下面的文章:
http://www.tabulizer.com/index.php/support-menu/tabulizer-tips/52-invalid-month-string-error-solution