2015-06-19 50 views
0

我正在從數據庫中提取記錄並在表中顯示。而對於搜索我使用數據表。但我想禁用數據表的默認排序。所以,我嘗試用下面的代碼如何禁用數據表默認排序?

$('#offer_table').dataTable({ 
     "aaSorting": [] 
    }); 

禁用排序的工作完美,但問題是,它顯示了一些警報

you cannot reinitialize datatable

如何解決這個問題?可能是這個問題是愚蠢的,但對不起,我試圖在谷歌解決這個問題,但我無法修復。謝謝。

+0

請不要包含代碼或錯誤消息的屏幕截圖。它讓人們很難在以後搜索它。 –

回答

2

這可能是由於某些原因而發生的,但通常是因爲您嘗試初始化兩次或初始化後設置屬性。

檢查此link有關此問題的更多信息。

1

是的,只要添加到douglasf89的答案,您可能試圖初始化數據表兩次。如果您必須這樣做,首先需要撥打

yourTable.destroy(); 

intitializations之間。

因此,下面的代碼是有效的:

function createTable() { 
    yourTable = $('#offer_table').dataTable({ 
    "aaSorting": [] 
    }); 
} 
createTable(); 
yourTable.destroy(); 
createTable(); 

不過,這link更徹底地回答你的問題。

儘管您的問題可能不是由aaSorting引起的,但有替代語法可以實現此目的。傳統數據表文檔 - (legacy.datatables.net/ref),你可能會

$('#example').dataTable({ 
    "bSort": false 
}); 

替代aaSorting禁止在特定的列進行排序,使用

$('#example').dataTable({ 
    "aoColumnDefs": [ 
     { "bSortable": false, "aTargets": [ 0 ] } 
] }); 

更改默認的列進行排序,使用

var oTable = $('#example').dataTable(); 

// Sort immediately with columns 0 and 1 
oTable.fnSort([ [0,'asc'], [1,'asc'] ]);