【问题标题】:DataTables Secondary Sorting on column name clickDataTables对列名进行二次排序单击
【发布时间】:2015-04-30 20:07:22
【问题描述】:

如果第 13 列在页面上被点击但不中断任何其他点击列的功能,我正在尝试对第 1 列进行二次排序。

这是 jQuery DataTable 代码

$('#table-report').dataTable({
            "aLengthMenu": [[10, 25, 50, 100], [10, 25, 50, 100]],
            "iDisplayLength": 10,
            "bFilter": true,
            "bInfo": false,
            "sEmptyTable": "No data returned for values input.",
            "sDom": '<top>l',
            "sPaginationType": "full_numbers",
            "bJQueryUI": false,
            "aoColumnDefs":
             [
                { 'bSortable': true, "aTargets": [0, 17] },
                { "sType": "time-us", "aTargets": [16] }
             ],
            "oLanguage": {
                "sLengthMenu": "View Per Page _MENU_ ",
                "sSearch": "Search all columns:"
            }
        });

我得到的最接近的是添加

{ targets: [13], orderData: [13, 1] }

"aoColumnDefs"。问题是排序(正确发生 - 主要和次要)发生在页面加载并禁用按任何其他列排序的能力。

是否有人知道我如何仅在单击第 13 列标题时更改我必须进行的二次排序,同时不通过单击相应的列标题禁用任何其他列的排序功能?

【问题讨论】:

    标签: javascript jquery sorting datatables jquery-datatables


    【解决方案1】:

    从您的定义命名来看,您似乎使用的是旧版本的数据表(1.9?)

    在 1.9 上试试这样的:

        "aaSorting": [ [13,'asc'], [1,'asc'] ]"
    

    或者更新到 1.10 可以为您的代码提供您尝试过的更好的运行机会而不会崩溃的选项。 Allen(Datatables 的制造商)在向后兼容性方面做得很好

    【讨论】:

      【解决方案2】:

      我终于明白了……

      我最终在 Route 列标题中添加了一个 id,并在点击时手动调用 fnsort

      $('#dataTableId').fnSort([[13, 'asc'], [1, 'asc']])
      

      【讨论】:

        猜你喜欢
        • 2017-02-24
        • 1970-01-01
        • 1970-01-01
        • 2020-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-06
        • 2019-03-12
        相关资源
        最近更新 更多