jquery数据表排序忽略空值

Tim*_*002 3 jquery datatables

我正在使用datatables和jQuery来制作漂亮的可排序表.我现在想要为行排序一个值.该值是数值.但它也可能无法使用,所以在这一点上我会回应一下冲刺.

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

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

提前致谢!

Bum*_*tle 7

见: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"}
                ],
} );
Run Code Online (Sandbox Code Playgroud)