Jquery 字母数字列的数据表排序

Jquery 字母数字列的数据表排序,jquery,datatables,Jquery,Datatables,我使用Datatables对ID列进行排序 身份证件 MPT123 RST789 AZE190 如何根据数值对其进行排序 我试着这样做 "columnDefs": [{ targets: "datatable-nosort", orderable: false, bsort: false, sType: "numeric" }] 但是这不起作用。我让它工作了,发布了工作代码 jQuery.exten

我使用Datatables对ID列进行排序

身份证件 MPT123 RST789 AZE190 如何根据数值对其进行排序 我试着这样做

"columnDefs": [{
            targets: "datatable-nosort",
            orderable: false,
            bsort: false,
            sType: "numeric"
}]

但是这不起作用。

我让它工作了,发布了工作代码

jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"formatted-num-pre": function ( a ) {       
    a = (a === "-" || a === "") ? 0 : a.replace( /[^\d\-\.]/g, "" );
    return parseFloat( a );
},

"formatted-num-asc": function ( a, b ) {
    return a - b;
},

"formatted-num-desc": function ( a, b ) {
    return b - a;
}
} );
并将该方法称为

{ "type": "formatted-num", targets: 0 }]

我使用的是自然排序JS,效果非常好-

自然地使用数字和字母组合对数据进行排序。数据通常是数字和字母的复杂组合(文件名是一个常见的例子),以自然的方式对它们进行排序是一个相当困难的问题


幸运的是,其他作者已经在这方面做了大量工作-以下插件使用Jim Palmer的naturalSort()函数在数据表中提供自然排序。

那么您想按数字排序,而忽略前面的字母?所有的ID都是AAA000形式的吗?是的,我想对numberJust进行排序仅供参考,当type='sort'时,可能有一种更简单的方法使用render函数并返回字符串中数字部分的parseInt。不过,你自己找到了解决方案,真是太好了!