Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用除第一列之外的所有列的排序_Javascript_Jquery_Sorting_Datatables - Fatal编程技术网

Javascript 禁用除第一列之外的所有列的排序

Javascript 禁用除第一列之外的所有列的排序,javascript,jquery,sorting,datatables,Javascript,Jquery,Sorting,Datatables,我目前正在为自定义系统使用Datatables,我想禁用除第一列之外的每一列的排序 我尝试了以下代码,当我添加以逗号分隔的值时,该代码运行良好 "aoColumnDefs": [ { 'bSortable': false, 'aTargets': [ 1, 2, 3, 4 ] } ], 但是每个文件的表列数不同,所以我可以有3列或12列,而且我不想手动为每个文件添加值 如果我添加的值多于一个文件中的列,则会出现以下错误,并停止执行 未捕获的TypeError:无法读取未定义的属性“cl

我目前正在为自定义系统使用Datatables,我想禁用除第一列之外的每一列的排序

我尝试了以下代码,当我添加以逗号分隔的值时,该代码运行良好

"aoColumnDefs": [
    { 'bSortable': false, 'aTargets': [ 1, 2, 3, 4 ] }
],
但是每个文件的表列数不同,所以我可以有3列或12列,而且我不想手动为每个文件添加值

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

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

那么,有没有办法得到这些索引并将它们传递给函数


谢谢

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

<table>
   <thead>
      <th>
         ...
      </th>
      <th class="no-sort">
         ...
      </th>
    </thead>
    <tbody>
      ...
    </tbody>
</table>

查看以获取有关特定于列的选项的详细信息。

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

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

columnDefs:[{orderable:false,targets:[1,2,3,4,5,6,7,8,9]}]
这对我来说很有效,而且看起来更实用(虽然不是很优雅)

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