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

Cor*_*ius 6 javascript sorting jquery datatables

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

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

"aoColumnDefs": [
    { 'bSortable': false, 'aTargets': [ 1, 2, 3, 4 ] }
],
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

谢谢!

Nun*_*ers 12

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

<table>
   <thead>
      <th>
         ...
      </th>
      <th class="no-sort">
         ...
      </th>
    </thead>
    <tbody>
      ...
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

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

"aoColumnDefs": [
    { 'bSortable': false, 'aTargets': ['no-sort'] }
]
Run Code Online (Sandbox Code Playgroud)

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