【问题标题】:Disable Sorting on every column except the first one对除第一列之外的每一列禁用排序
【发布时间】:2013-12-31 01:54:12
【问题描述】:

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

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

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

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

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

未捕获的类型错误:无法读取未定义的属性“className”

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

谢谢!

【问题讨论】:

    标签: javascript jquery sorting datatables


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

      然后你可以在你的 aTargets 参数中指定这个类。

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

      【讨论】:

        【解决方案3】:

        这对我有用,而且看起来更实用(虽然不完全优雅)

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-05-03
          • 2021-09-24
          • 2018-04-04
          • 2015-08-03
          • 2020-10-04
          • 2021-08-26
          • 2016-05-11
          • 1970-01-01
          相关资源
          最近更新 更多