DataTable升序无法正常工作

时间:2017-05-09 14:39:56

标签: javascript html datatables

我使用了DataTables的以下代码,结果显示不是按数字升序排列。

例如:

我有订单: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11

DataTable显示结果:1,10,11,2,3,4,5,6,7,8,9,

请帮帮我。感谢。

<script type="text/javascript">
  $(function () {
    $("#example1").dataTable();
    $('#example2').dataTable({
      "bPaginate": true,
      "bLengthChange": false,
      "bFilter": false,
      "bSort": false,
      "bInfo": true,
      "bAutoWidth": false
    });
  });
</script>

3 个答案:

答案 0 :(得分:1)

根据this DataTables support thread,您的列可能设置为字符串类型而不是数字/整数类型。

以下是该页面的一些解决方案:

答案 1 :(得分:1)

我想对id进行排序时遇到了类似的问题。所以我的ID是字符串和顺序:[0,'asc']无效。

解决方案使用的是预变形方法。它用于将格式化的数据转换为可排序的数据。所以它与 顺序:[0,'pre']

https://datatables.net/manual/plug-ins/sorting

答案 2 :(得分:1)

如果上述解决方案仍然不适合您,请检查您是否将语言对象传递给 DataTable 构造函数,例如这样:

$('#example').DataTable( {
    language: { url: '/localisation/fr_FR.json' }
} );

就我而言,这就是问题的来源。 语言对象包含这一行:

"decimal": ","

出于某种原因,这就是导致问题的原因。 通过删除它,数字现在可以正确排序。

当然,这仅在您的语言对象中不需要十进制规范时才有效。