javascript - 在 jQuery DataTables 中禁用排序仍然会加载订单图标

标签 javascript jquery datatable

我有一个 4 列的 DataTable,需要排序,第一列除外。我尝试使用 "columns": [ {"orderable": false}, null, null, null ],但第一列在页面加载时显示排序图标(插入符号)。

当我订购另一列时,图标从第一列消失,但仍然存在原来的空间,从而破坏了列宽。有没有什么方法可以真正禁用排序,并且不添加任何特殊的填充?

已解决:

@ShaktiPhartiyal 答案解决了排序问题。通过将 autowidth 选项设置为 false 并使用一些 CSS 解决了宽度问题。

CSS part

table.dataTable thead tr th:first-child,
table.dataTable tbody tr td:first-child {
    width: 0px;
}

DataTables options

$(table).DataTable({
    "paging":   false,
    "columnDefs" : [
        { targets: 0, sortable: false},
    ],
    "order": [[ 3, "asc" ]],
    "autoWidth": false
});

最佳答案

即使您禁用列排序,数据表排序顺序仍然保留。默认顺序为[0, 'asc'];只需将顺序设置为针对 #2 列即可:

var table = $('#example').DataTable({
    //....
    order: [[ 1, "asc" ]] //column indexes is zero based
});

Working Fiddle

关于javascript - 在 jQuery DataTables 中禁用排序仍然会加载订单图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43470913/

相关文章:

javascript - 如何在javascript中检索id以td_开头的所有td

javascript - 加载 angularJs Controller

javascript - 使用需要参数的非匿名函数的 setInterval 必须在匿名函数内。为什么?

javascript - 从悬停到单击的下拉标题

c# - 如何通过 [WebMethod] 返回数据表

jquery - 数据表从 DOM 中删除 CSS

javascript - 使用 new Image() 获取图像大小返回 0

javascript - javascript 中 Math.cos 函数将度数转换为弧度时出现问题

jquery 通过 rel 查找链接

c# - 在 DataTable 中分组 Column sum