jQuery Datatable排序“无效月份”错误

时间:2014-10-01 12:16:33

标签: jquery sorting datatable

排序我的数据表时出错了。 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月"。

1 个答案:

答案 0 :(得分:0)

这是一个mootools bug。你会找到一个解释和 如果您阅读以下文章的解决方案:

http://www.tabulizer.com/index.php/support-menu/tabulizer-tips/52-invalid-month-string-error-solution