当前位置 : 主页 > 网页制作 > JQuery >

jquery数据表排序忽略空值

来源:互联网 收集:自由互联 发布时间:2021-06-15
我正在使用datatables和jQuery来制作漂亮的可排序表.我现在想要为行排序一个值.该值是数值.但它也可能无法使用,所以在这一点上我会回应一下冲刺. 当我现在对此列进行排序时,带有短划
我正在使用datatables和jQuery来制作漂亮的可排序表.我现在想要为行排序一个值.该值是数值.但它也可能无法使用,所以在这一点上我会回应一下冲刺.

当我现在对此列进行排序时,带有短划线的所有行都在顶部.并且显示了具有值1,3,6,8,10的行.如何更改此项以使短划线( – )始终位于表格的底部?

目前我输入了一个最大数字,这使他们处于最底层.但是我不希望这个值显示给用户.所以我需要一个隐藏的排序列或其他排序方法.

提前致谢!

见: http://jsfiddle.net/CYubV/

表中的第一列像普通列一样工作;第二列的工作方式就像你问的那样.

尝试自定义排序,如下所示:

$.fn.dataTableExt.oSort['nullable-asc'] = function(a,b) {
    if (a == '-')
        return 1;
    else if (b == '-')
        return -1;
    else
    {
        var ia = parseInt(a);
        var ib = parseInt(b);
        return (ia<ib) ? -1 : ((ia > ib) ? 1 : 0);
    }
}

$.fn.dataTableExt.oSort['nullable-desc'] = function(a,b) {
    if (a == '-')
        return 1;
    else if (b == '-')
        return -1;
    else
    {
        var ia = parseInt(a);
        var ib = parseInt(b);
        return (ia>ib) ? -1 : ((ia < ib) ? 1 : 0);
    }
}

$('#table').dataTable( {
    "bPaginate": false,
    "bFilter": false,
    "aoColumns": [
            null,
            {"bSortable": true, "sType": "nullable"}
                ],
} );
网友评论