如何简单地按数据表的最后一列进行排序

时间:2015-08-03 13:12:52

标签: jquery sorting datatable

我对dataTable真的很陌生,我只需要一个简单的解决方案:

var initBasicTable = function() {

    var table = $('#basicTable');

    var settings = {
        "sDom": "t",
        "sPaginationType": "bootstrap",
        "destroy": true,
        "paging": false,
        "scrollCollapse": true,
        "order": [[0,'desc']]
    };

    table.dataTable(settings);
    $('#basicTable input[type=checkbox]').click(function() {
        if ($(this).is(':checked')) {
            $(this).closest('tr').addClass('selected');
        } else {
            $(this).closest('tr').removeClass('selected');
        }

    });

}

这是有效的,默认情况下对第一列进行排序。

但我读到将0中的"order": [[0,'desc']]更改为负数将从右侧的列开始排序。但是这个:

var settings = {
        "sDom": "t",
        "sPaginationType": "bootstrap",
        "destroy": true,
        "paging": false,
        "scrollCollapse": true,
        "order": [[-1,'desc']]
};

引发错误,我不知道从哪里继续。

我知道dataTable非常强大,但是, this is no what I was looking for but plenty already

“按最后(-1)列排序”没有任何内容?我感到迷茫。任何人?

3 个答案:

答案 0 :(得分:8)

事情证明并非如此,只需要做一些努力:

var table = $('#basicTable');
    var index = $(table).find('th:last').index();
    var settings = {
        "sDom": "t",
        "sPaginationType": "bootstrap",
        "destroy": true,
        "paging": false,
        "scrollCollapse": true,
        "order": [
            [index, "desc"]
        ]
    };

这将获得最后一列'的索引。并先对它进行排序。谢谢你的帮助。

答案 1 :(得分:3)

您可以像这样初始化表格以按最后一列对其进行排序

$('.table').DataTable().columns(-1).order('desc').draw();

有关详细信息,请检查this

答案 2 :(得分:1)

只需使用dataTables中的重绘功能:

table.order([0, 'desc']).draw();

不要使用列索引的负值。只是使用正面的。 在the api中,没有提及可订购列的负列索引。

如果您现在无法关注我,请阅读:“https://datatables.net/reference/api/order%28%29