2015-06-19 71 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'] ]);