2012-02-22 129 views
2

我使用下面的jQuery對頁面加載排序(降序)表。它只在單擊箭頭進行降序或升序後才起作用。但是,我的要求是在頁面加載時對錶格進行排序。任何幫助都會被讚賞。按頁面加載降序默認排序

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

回答

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

+0

我的表只有一列 – 1078081 2012-02-22 22:21:50

+0

@ user1078081然後使用「aaSorting」:[[0,'asc']] – 2012-02-22 22:28:06

+0

我使用了「aaSorting」:[[0,'desc']],並在所需的頁面加載中進行降序排序。謝謝! – 1078081 2012-02-22 22:30:49

0

什麼方法被調用,當你點擊排序箭頭?爲什麼不調用這個方法作爲document.ready函數中的最後一個方法調用?

2

通過這個代碼,你可以通過添加類的排序遞減「或「排序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]], 
    }); 
}); 

我沒有測試過這段代碼,但它應該可以工作。

0

您可以使用命令屬性來實現相同。

例如在下面的表將在通過四縱降序順序排列(索引從零開始!)

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

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

結帳this Fiddle