禁用除第一列之外的每个列的排序

我目前正在使用Datatables作为自定义系统,我想禁用每列的排序,但第一个。

当我添加用逗号分隔的值时,我尝试使用以下代码工作正常

"aoColumnDefs": [ { 'bSortable': false, 'aTargets': [ 1, 2, 3, 4 ] } ], 

但我的表格列号因每个文件而异,所以我可以有3列或12列,我不想手动添加每个文件的值。

如果我添加的值多于我在一个文件中的列,我会收到以下错误,并执行停止

未捕获的TypeError:无法读取未定义的属性“className”

那么,有什么方法可以获得这些索引并将它们传递给函数?

谢谢!

您可以将特定类添加到您不希望可排序的TH元素。

  ... 
... ...

然后,您可以在aTargets参数中指定此类。

 "aoColumnDefs": [ { 'bSortable': false, 'aTargets': ['no-sort'] } ] 

有关Column特定选项的更多信息,请在此处查看。

然后,您可以在aTargets参数中指定此类。

 columnDefs: [ { orderable: false, targets: [1,2,3,4,5,6,7,8,9] } ] 

这对我有用,看起来更实用(虽然不是很优雅)

 columnDefs: [ { "targets": [0], "orderable": true }, { "targets": [''], "orderable": false } ]