默认排序为页面加载时的降序

时间:2012-02-22 22:07:07

标签: jquery jquery-ui datatable

我在页面加载时使用下面的jQuery来排序(降序)表。它仅在我单击箭头以降序或升序后才起作用。但是,我的要求是在页面加载时对表格进行排序。感谢任何帮助。

$(document).ready(function() { 
oTable = $('#personsList').dataTable({
                    "bJQueryUI": true,
                    "sPaginationType": "full_numbers",
                    "iDisplayLength": 25,
                    "aLengthMenu": [25, 50, 100, 150],
                    "aaSorting": [],                    
                    "bPaginate": false              
                });

4 个答案:

答案 0 :(得分:6)

您应该使用该aaSorting参数初始化特定列的排序。

下面的代码对第一列asc。

进行排序
           $(document).ready(function() { 
                 oTable = $('#personsList').dataTable({
                "bJQueryUI": true,
                "sPaginationType": "full_numbers",
                "iDisplayLength": 25,
                "aLengthMenu": [25, 50, 100, 150],
                "aaSorting": [[0,'asc']],      //Sorts 1st column asc              
                "bPaginate": false              
            });

Complete datatables params reference

答案 1 :(得分:2)

通过此代码,您可以通过添加类'sort-desc'或'sort-asc'对页面加载中的升序和降序进行排序来对数据表中的各个列进行排序

    $('.dom-table').each(function(index) {
        var sort_column=$('.dom-table thead tr').children().index('.sort-desc');
        var sort_oper='desc';
        if(sort_column < 0)
        {
            var sort_column=$('.dom-table thead tr').children().index('.sort-asc');
            sort_oper='asc';
            if(sort_column < 0)
            {
                sort_column=0;
            }
        }
        $(this).dataTable({
        "sDom": 'T<"clear">lfrtip',
        "aaSorting": [[sort_column,sort_oper]],
    });
});

我没有测试过这段代码,但应该可以使用。

答案 2 :(得分:1)

您可以使用订单属性来实现相同目标。

例如,在下表中,它将按降序顺序排序第4列(索引从ZERO开始!)

var table = $('#example').DataTable({

            "order": [
                      [3, 'desc']      
                     ]
        });

结帐this Fiddle

答案 3 :(得分:0)

当您单击排序箭头时,调用了哪种方法?为什么不将此方法称为document.ready function中的最后一个方法调用?