我正在尝试更改默认的排序方向。默认顺序是升序然后降序。我试图扭转它。
排序方向应该是独立的,应该适用于所有列(列数因不同的表而异)我必须启动数据表的脚本是通用的。
排序应仅适用于点击。
我找到了一些示例,但它们是特定于列的https://datatables.net/examples/advanced_init/sort_direction_control.html
这是我的剧本
jQuery(function($) {
$(".datatable").dataTable({
"paging": false,
"searching": false,
"info": false,
"orderCellsTop": true
});
});
答案 0 :(得分:2)
所有选项和设置都具有在内部DataTable.defaults
对象中定义的默认值。此对象可用于通过$.fn.dataTable.defaults
进行更改。这在网站上的记录很少,但在代码中有很好的记录。打开一个非缩小的jquery.dataTables.js并搜索DataTable.defaults。
要反转所有列的默认排序,它会变为desc
,asc
:
$.fn.dataTable.defaults.column.asSorting = ['desc', 'asc'];
将第一列的初始排序设置为desc
$.fn.dataTable.defaults.aaSorting = [[0,'desc']];
同样,您只需更改默认值即可,因此您根本不需要在dataTable()
中设置任何通用选项:
$.fn.dataTable.defaults.bPaginate = false; //paging: false
$.fn.dataTable.defaults.bFilter = false; //searching: false
$.fn.dataTable.defaults.bInfo = false; //info: false
$.fn.dataTable.defaults.bSortCellsTop = true; //orderCellsTop: true
参见演示 - >的 http://jsfiddle.net/f31pncb4/ 强>
答案 1 :(得分:2)
您可以在初始化时执行此操作:
jQuery(function ($) {
$(".datatable").dataTable({
"paging": false,
"searching": false,
"info": false,
"orderCellsTop": true,
aoColumnDefs: [
{
orderSequence: ["desc", "asc"],
aTargets: ['_all']
}
]
});
});
答案 2 :(得分:1)
理查德在上面的回答是有效的,但却是传统方法。当前版本的语法类似且更简单:
var myTable = $('table').DataTable({
"columnDefs": [
{
"orderSequence" : [ "desc", "asc" ],
"targets" : "_all"
}
]
});
稍微偏离主题但注意资本" D"在DataTable()
中,它返回一个api实例而不是一个jquery对象。这很重要,因为这样做可以让您在初始化后更轻松地访问api。