Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting jQuery dataTables:单击AD应该对所有列进行降序排序,然后升序排序_Sorting_Datatable_Jquery Datatables - Fatal编程技术网

Sorting jQuery dataTables:单击AD应该对所有列进行降序排序,然后升序排序

Sorting jQuery dataTables:单击AD应该对所有列进行降序排序,然后升序排序,sorting,datatable,jquery-datatables,Sorting,Datatable,Jquery Datatables,我正在尝试更改默认的排序方向。默认顺序是先升后降。我正试图扭转这种局面 排序方向应该是独立的,并且应该应用于所有列(列的数量因不同的表而异)。我必须初始化datatable的脚本是通用的 排序只能在单击时应用 我发现很少有例子,但它们是特定于列的 这是我的剧本 jQuery(函数($){ $(“.datatable”).datatable({ “分页”:false, “搜索”:错误, “信息”:错误, “orderCellsTop”:true }); }); 所有选项和设置都有内部数据表中定义的

我正在尝试更改默认的排序方向。默认顺序是先升后降。我正试图扭转这种局面

排序方向应该是独立的,并且应该应用于所有列(列的数量因不同的表而异)。我必须初始化datatable的脚本是通用的

排序只能在单击时应用

我发现很少有例子,但它们是特定于列的

这是我的剧本

jQuery(函数($){
$(“.datatable”).datatable({
“分页”:false,
“搜索”:错误,
“信息”:错误,
“orderCellsTop”:true
});
});

所有选项和设置都有内部
数据表中定义的默认值。默认值
对象。此对象可通过
$.fn.dataTable.defaults
进行更改。这在网站上没有很好的文档记录,但在代码中有很好的文档记录。打开一个未缩小的jquery.dataTables.js并搜索DataTable.defaults

要反转所有列的默认顺序,使其变为
desc
asc

$.fn.dataTable.defaults.column.schoding=['desc','asc'];
将第一列的初始顺序设置为desc

$.fn.dataTable.defaults.aaSorting=[[0,'desc']];
同样,您也可以简单地更改默认值,这样就根本不需要在
dataTable()
中设置任何通用选项:

$.fn.dataTable.defaults.bPaginate=false//分页:false
$.fn.dataTable.defaults.bFilter=false//搜索:false
$.fn.dataTable.defaults.bInfo=false//信息:错误
$.fn.dataTable.defaults.bSortCellsTop=true//orderCellsTop:对

请参见演示->您可以在初始化时执行此操作:

jQuery(function ($) {
    $(".datatable").dataTable({
        "paging": false,
        "searching": false,
        "info": false,
        "orderCellsTop": true,
        aoColumnDefs: [
            {
                orderSequence: ["desc", "asc"],
                aTargets: ['_all']
            }
        ]
    });
});

上面Richard的答案是可行的,但它是传统方法。当前版本的语法与此类似,但更简单:

var myTable = $('table').DataTable({
    "columnDefs": [
        {
            "orderSequence" : [ "desc", "asc" ],
            "targets" : "_all"
        }
    ]
});
稍微偏离主题,但请注意
DataTable()
中的大写字母“D”,它返回一个api实例而不是jquery对象。这一点很重要,因为这样做可以让您在初始化后更容易地访问api