option order 设置排序列(去掉第一列的排序和小图标)(jquery-datatable隐藏首列排序小图标)

本文介绍如何在DataTables中禁用特定列的排序功能,并移除排序图标。通过设置columnDefs或columns属性实现禁用第一列排序,同时解决排序图标残留的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

option order 设置排序列(去掉第一列的排序和小图标)

 DataTables中文网  5 May 2016 复制本页地址

Tags: 不定时一讲


参数详解连接 orderOption order不定时一讲

第一列的排序去不掉,这个问题在群里出现的频率很高,这里讲下为什么去不掉

  • 禁用排序
1
2
3
$('#example').DataTable( {
  "ordering": false
} );

当然这个处理方式不得行,所有列都不能排序了,我要的是第一列不排序

  • 设置第一列不排序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$('#example').DataTable( {
  "columnDefs": [
    { "orderable": false, "targets": 0 }
  ]
} );

$('#example').DataTable( {
  "columns": [
    { "orderable": false },
    null,
    null,
    null,
    null
  ]
} );

这下会可以了吧?

……

为什么有个小三角还在那里?WK…… 怎么去掉?

不卖关子了,这里出现这个的 原因 在于 orderOption order不定时一讲 的默认值是 [[0, 'asc']],给第一列设置了升序排列,感觉像一个小小的bug,不知道新版的有没有解决

正因为这个默认值导致了这一系列的 问题 ,所以下面给出解决办法

  • 取代默认的值
1
2
3
$('#example').DataTable( {
    "order": []
} );

不设置默认排序

  • 把默认的排序列设置其他列
1
2
3
$('#example').DataTable( {
    "order": [[ 1, 'asc' ]]
} );

设置第二列为升序


如果首列还是显示排序小图标,没有办法了,终极解决方案:

方法:去掉第一列的图标

在drawCallback回调方法中去除sorting_asc样式

"fnDrawCallback": function( oSettings ) { 
         $("#datatable thead tbody th:first").removeClass("sorting_asc");//移除checkbox列的排序箭头 
}



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值