0

少し問題があります。DataTables を使用しており、列に次のデータがあります。

1-2
3
4
5
6
7-8
9

等々。現在、これらは文字列として扱われているため、並べ替えがめちゃくちゃになっています。それらの値を整数に変更すると、並べ替えは問題ありませんが、1-2 を表示する代わりに 1 を表示し、7-8 を表示する代わりに 7 を表示するなど、情報が失われます。

「表示」値と「ソート値」を設定できるかどうか疑問に思っています。DataTables が文字列として表示するようにしますが、ソートのために整数に変更した値を使用します。誰かがこれで私を助けてくれるといいですね!

4

1 に答える 1

1

このトピックについては、DataTable のドキュメントで説明されています。他の JavaScript コードに自然な並べ替えプラグインを含め、"sType" を "natural" として指定する必要があります。

<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>
于 2013-08-11T09:56:58.073 に答える