Javascript jquery数据表中的自定义列排序

Javascript jquery数据表中的自定义列排序,javascript,jquery,jquery-datatables,Javascript,Jquery,Jquery Datatables,我使用jquerydatatable显示数据。当没有数据时,我显示'--'。当前,当表格对数据进行排序时,所有的“---”都出现在开头,顺序如下所示: -- -- 10 20 400 800 10 20 400 800 -- -- 但我需要使“---”在按升序排序时显示在最后,并应如下所示: -- -- 10 20 400 800 10 20 400 800 -- -- 请告诉我如何在jquery datatable中获得此行为?您可以使用以下代码: $('#example').dat

我使用jquerydatatable显示数据。当没有数据时,我显示'--'。当前,当表格对数据进行排序时,所有的“---”都出现在开头,顺序如下所示:

--
--
10
20
400
800
10
20
400
800
--
--
但我需要使“---”在按升序排序时显示在最后,并应如下所示:

--
--
10
20
400
800
10
20
400
800
--
--

请告诉我如何在jquery datatable中获得此行为?

您可以使用以下代码:

 $('#example').dataTable( {
    "aaSorting": [[ 4, "desc" ]]
} );

对于

可以使用EXTENSION

jQuery.extend(jQuery.fn.dataTableExt.oSort, {
    "myorder-pre": function (a) {

    },

    "myorder-asc": function (a, b) {
        if(a == '--' && b != '--')
            return 1;
        else if(b == '--' && a != '--')
            return -1;
        else if(b == '--'&& a == '--')
            return 0;
        else
        {
            a = parseFloat(a);
            b = parseFloat(b);
            return ((a < b) ? -1 : ((a > b) ? 1 : 0));

        }
    },

    "myorder-desc": function (a, b) {
        if(a == '--' && b != '--')
            return -1;
        else if(b == '--' && a != '--')
            return 1;
        else if(b == '--'&& a == '--')
            return 0;
        else
        {
            a = parseFloat(a);
            b = parseFloat(b);
            return ((a < b) ? 1 : ((a > b) ? -1 : 0));

        }
    }
});

你试过什么?这可能是一些有帮助的例子。谢谢。这正是我想要的。我将更新我的意见,一旦我纳入您的实施。再次感谢。不,此解决方案无法按预期工作,因为我们需要定义有关'--'的asc和desc sort的定义。对于给定的代码段,它仅使用默认行为按降序排序。希望我能表达清楚。