按数据表中的数字部分排序

时间:2016-09-15 13:35:57

标签: datatables

我有DataTable我的第一列是VIN号码。

示例:FLXVU3822G1000013

现在VIN号码只是一堆信息。最后6个数字是该年的序列号。你可以看到这个示例车辆是一年中的第13个。我真的想让我的列表过滤掉最后6位数字。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以通过自定义排序插件轻松解决此问题。实际上,您只需要提取最后6位数字并将它们作为数字返回,然后dataTables将使用内部数字排序算法对列进行排序:

jQuery.extend( jQuery.fn.dataTableExt.oSort, {
 "last-6-digits-pre": function ( a ) {
    var n = a.substring(a.length - 6, a.length)
    return parseInt(n)
 }
})

用法:

var table = $('#example').DataTable({
  columnDefs : [
     { targets: 0, type: 'last-6-digits' }
  ]
})  

其中targets: 0是您希望以此特定方式排序的列的索引。

参见演示 - >的 http://jsfiddle.net/zhmcLkb9/