【问题标题】:sorting DataTables with setting false option on ordering在排序时设置 false 选项对 DataTables 进行排序
【发布时间】:2020-03-06 20:24:52
【问题描述】:

是否可以通过禁用更改排序按第二列设置默认排序表?

我尝试过这种方式,但在第二列的标题上可以看到一个箭头。 我想用默认排序删除所有箭头。

var table = data.DataTable({
    "pageLength": 5,
    "lengthChange": false,
    "info" : false,
    "responsive": true,
    "ordering": true,
    "order": [ 1, "asc" ],
    "columnDefs": [{
    "targets": "_all", "orderable": false
    }],
    "data": result,
    "columns": [
        { "data": null },
        { "data": "Class" },
        { "data": "count" },
        { "data": "group" }
        ]
});

table.on('order.dt', function () {
    table.column(0, { search: 'applied', order: 'applied' }).nodes()
    .each(function (cell, i) {
          cell.innerHTML = i + 1;
    });
}).draw();

【问题讨论】:

  • 能否提供更多代码。如果没有良好的知识和 Jquery DataTables 的新经验,很难知道这段代码适合什么地方。这样你就可以接触到更多愿意看的开发者。

标签: jquery html datatables


【解决方案1】:

您可以使用这个 jQuery 命令从元素中删除灰色三角形(背景图像):

$("th.sorting_desc").css('background-image', 'none');

这需要放在“文档准备就绪”部分的末尾(假设您正在这样做)。

我唯一要补充的是:三角形的存在是有原因的——告诉用户数据是如何排序的。我不愿意自己删除它(只是我的意见)。

(您的"targets": "_all", "orderable": false 已经处理了排序问题。该表格一旦显示就无法由用户进行排序。)

更新

当您滚动表格标题时,您可能还想阻止光标发生变化(为了 UI 体验的一致性):

$("th.sorting_desc").css('cursor', 'default');

(仅在 Firefox 和 Chrome 中测试。)

【讨论】:

    猜你喜欢
    • 2020-01-25
    • 2020-04-09
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多