jquery的数据表默认sorting

我想设置默认sorting到我的jquery数据表中的第二列。 它默认按索引0sorting。我使用"aaSorting": [[ 1, "asc" ]]语法,但它强调我不想在初始加载的列。 如何设置特定列的默认sorting,而不突出显示列,就像没有涉及sorting并且使用0索引列一样。

有几个选项:

  1. 在初始化DataTables之后,删除TBODY中TD元素的sorting类。

  2. 使用http://datatables.net/ref#bSortClasses禁用sorting类。; 与此问题是,它将禁用用户sorting请求的sorting类 – 这可能会或可能不是你想要的。

  3. 让您的服务器以您所需的sorting顺序输出表格,并且不要在表格上应用默认sorting( aaSorting:[] )。

这是它的实际代码…

 $(document).ready(function() { var oTable = $('#myTable').dataTable(); // Sort immediately with column 2 (at position 1 in the array (base 0). More could be sorted with additional array elements oTable.fnSort( [ [1,'asc'] ] ); // And to sort another column descending (at position 2 in the array (base 0). oTable.fnSort( [ [2,'desc'] ] ); } ); 

为了不让列突出显示,请像这样修改CSS:

 table.dataTable tr.odd td.sorting_1 { background-color: transparent; } table.dataTable tr.even td.sorting_1 { background-color: transparent; } 

你可以使用fnSort函数,在这里查看细节:

http://datatables.net/api#fnSort

最好的select是禁用sorting,只需按照期望的sorting顺序(从数据库或其他来源)提供数据。 尝试添加到你的'数据表':“bSort”:false

Datatables支持HTML5 data- *属性的这个function。

它支持sorting顺序中的多个列(基于0)

 <table data-order="[[ 1, 'desc' ], [2, 'asc' ]]"> <thead> <tr> <td>First</td> <td>Another column</td> <td>A third</td> </tr> </thead> <tbody> <tr> <td>z</td> <td>1</td> <td>$%^&*</td> </tr> <tr> <td>y</td> <td>2</td> <td>*$%^&</td> </tr> </tbody> </table> 

现在我的jQuery只是$('table').DataTables(); 我得到我的第二和第三列以desc / asc顺序sorting。

下面是我发现自己重复使用的<table>的一些其他好的属性:

data-page-length="-1"将页面长度设置为全部(对于页面长度25,通过25)…

data-fixed-header="true" …猜一猜

我也有这个问题。 我曾经使用stateSave选项,并造成这个问题。
删除这个选项,问题就解决了。

使用它对我有用:“order”:[[1,“ASC”]],

这对我工作:

  jQuery('#tblPaging').dataTable({ "sort": true, "pageLength": 20 }); 

只需包含以下代码:

  $(document).ready(function() { $('#tableID').DataTable( { "order": [[ 3, "desc" ]] } ); } ); 

充分参考文章与例子:

https://datatables.net/examples/basic_init/table_sorting.html