我使用了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>
答案 0 :(得分:1)
根据this DataTables support thread,您的列可能设置为字符串类型而不是数字/整数类型。
将sType
设置为numeric
。有关详细信息,请参阅this DataTables usage page。
如果您的号码是链接的一部分,那么这可能就是该功能没有将其作为数字提取的原因。请删除该链接,或尝试使用此插件:http://datatables.net/plug-ins/sorting#numbers_html。
答案 1 :(得分:1)
我想对id进行排序时遇到了类似的问题。所以我的ID是字符串和顺序:[0,'asc']无效。
解决方案使用的是预变形方法。它用于将格式化的数据转换为可排序的数据。所以它与 顺序:[0,'pre']
答案 2 :(得分:1)
如果上述解决方案仍然不适合您,请检查您是否将语言对象传递给 DataTable 构造函数,例如这样:
$('#example').DataTable( {
language: { url: '/localisation/fr_FR.json' }
} );
就我而言,这就是问题的来源。 语言对象包含这一行:
"decimal": ","
出于某种原因,这就是导致问题的原因。 通过删除它,数字现在可以正确排序。
当然,这仅在您的语言对象中不需要十进制规范时才有效。