具有不同的显示值,但按原始值DataTables jQuery排序

时间:2013-08-11 09:48:29

标签: php javascript jquery

我有一个小问题,我正在使用DataTables,我在列中有以下数据

1-2
3
4
5
6
7-8
9

等等。目前,这些被视为字符串,因此排序混乱。当我将它们的值更改为整数时,排序很好,但是,我放松了信息,而不是显示1-2它显示1而不是7-8它显示7等等。

我想知道我是否可以拥有“显示”值和“排序值”。使它成为DataTables将其显示为字符串,但使用我已更改为整数的值进行排序。很高兴有人可以帮我这个!

1 个答案:

答案 0 :(得分:1)

DataTable documentation中讨论了此主题。它涉及将自然排序插件与您的其他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>