datatables - 用点排序格式化的数字

时间:2017-08-03 09:56:25

标签: javascript jquery html5 sorting datatables

我遇到了使用https://datatables.net/对特殊类型的格式化数字进行排序/排序的问题。我有111.111.11146.323.345,88等数字,这些数字都是金额。

我尝试使用类型:num-fmt但没有成功。当我在我的项目中添加此类型属性时,我甚至无法排序。什么都没有发生,就像我订购禁用。

希望你们能帮助我! ty

private initVolumenTable() {
    $('#volumen-table').DataTable({
        columnDefs: [
            {targets:3, type: 'num-fmt' }   
        ],
        "scrollY": "400px",
        "scrollCollapse": false,
        "paging": false,
        "ordering": true,           
    });

在JSFiddle中,排序发生了,但它不正确..

所以我创建了一个:JsFiddle 。 :)

1 个答案:

答案 0 :(得分:0)

试试这段代码:

$(document).ready(function() {
  $('#example').dataTable();
  jQuery.extend(jQuery.fn.dataTableExt.oSort, {
      "numeric-comma-pre": function (a) {
          // prepare number
          a = +(a.replace(",", "."));
          a = (isNaN(a)) ? Number.MAX_VALUE : a;
          return a;
      },
      "numeric-comma-asc": function (a, b) {
          return ((a < b) ? -1 : ((a > b) ? 1 : 0));
      },
      "numeric-comma-desc": function (a, b) {
          return ((a < b) ? 1 : ((a > b) ? -1 : 0));
      }
  });
});