javascript - 禁用对除第一列以外的每一列的排序

标签 javascript jquery sorting datatables

我目前正在为自定义系统使用数据表,我想为除第一列以外的每一列禁用排序。

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

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

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

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

Uncaught TypeError: Cannot read property 'className' of undefined

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

谢谢!

最佳答案

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

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

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

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

查看here有关列特定选项的更多信息。

关于javascript - 禁用对除第一列以外的每一列的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20547146/

相关文章:

vba - 在 VBA 中对多个键进行排序;运行时错误 450 : Wrong number of arguments or invalid property assignment

javascript - Spring MVC - 使用 Japascript 对象设置\填充 JSTL\JSP 对象的内容

扩展名为 .css 的 Javascript 文件

javascript - 使用 jQuery 删除括号

jquery - 如何删除 jquery 验证错误消息中的所有默认样式?

python - 插入排序算法修改输出

php - 使用 php 数组中的键对 div 显示顺序进行排序和更改

javascript - angularjs xeditable.js 文本字段的动态宽度

javascript - 如何合并两个数组,类似于对象的下划线扩展方法

javascript - 是否可以将变量从一个 innerhtml 传递到另一个 innerhtml