我有一个小问题,我正在使用 DataTables,并且我在一列中有以下数据
1-2
3
4
5
6
7-8
9
等等。目前,这些被视为字符串,因此排序混乱。当我将它们的值更改为整数时,排序很好,但是,我丢失了信息,而不是显示 1-2,而是显示 1,而不是显示 7-8,而是显示 7,依此类推。
我想知道我是否可以有一个“显示”值和一个“排序值”。使它如此 DataTables 将其显示为字符串,但使用我已更改为整数的值进行排序。如果有人可以帮助我,那就太好了!
我有一个小问题,我正在使用 DataTables,并且我在一列中有以下数据
1-2
3
4
5
6
7-8
9
等等。目前,这些被视为字符串,因此排序混乱。当我将它们的值更改为整数时,排序很好,但是,我丢失了信息,而不是显示 1-2,而是显示 1,而不是显示 7-8,而是显示 7,依此类推。
我想知道我是否可以有一个“显示”值和一个“排序值”。使它如此 DataTables 将其显示为字符串,但使用我已更改为整数的值进行排序。如果有人可以帮助我,那就太好了!
该主题在 DataTable文档中进行了讨论。它涉及在您的其他 JavaScript 代码中包含自然排序插件,并将“sType”指定为“自然”:
<script type="text/javascript" src="jquery.dataTables.js"></script>
<script type="text/javascript" src="naturalSort.js"></script>
<script type="text/javascript">
jQuery.fn.dataTableExt.oSort['natural-asc'] = function(a, b) {
return naturalSort(a, b);
};
jQuery.fn.dataTableExt.oSort['natural-desc'] = function(a, b) {
return naturalSort(a, b) * -1;
};
$(document).ready(function() {
$('#example').dataTable( {
"aoColumns": [
null,
null,
{ "sType": "natural" },
null
]
} );
} );
</script>