可排序的表格 jQuery

Posted

技术标签:

【中文标题】可排序的表格 jQuery【英文标题】:Sortable table jQuery 【发布时间】:2018-05-10 22:18:03 【问题描述】:

我想按我的 DataTable 中第一列甚至行的名称排序。如何修改此代码?

oTable_aziende = $('#table_aziende').dataTable(
  "bJQueryUI": true,
  //"sScrollY": 200,
  //"bPaginate": false,
  "bFilter": true,
  "bStateSave": true,
  "oLanguage": 
    "sUrl": "../js/dataTables.italian.txt"
  ,
  "aoColumns": [
    null,
    null,
     "bSortable": true ,
     "bSortable": false 
  ],
  "sPaginationType": "full_numbers",
  "fnDrawCallback": function(o) 
    window.scrollTo(0, 0)
  ,
  "aaSorting": [[2, "desc"]]
  //"bRetrieve": true
);

【问题讨论】:

排序由aaSorting 设置。如果您想按第一列排序,请尝试"aaSorting": [[ 0, "asc" ]] 如果我想对第一列的行进行排序? ...您只想对偶数行进行排序?这没有意义 我有一个问题,因为偶数行有不同的内容 【参考方案1】:

您需要首先允许对“aoColumns”列进行排序。将该列的 bSortable 设置为 true。然后在 aaSorting 中为排序设置默认排序方向。

访问此链接以获取有关列排序的完整文档http://legacy.datatables.net/usage/columns

"aoColumns": [
   "bSortable": false ,
   "bSortable": true,
   "bSortable": false ,
   "bSortable": true,
   "bSortable": false ,
]

aoColumns 中数组的长度必须等于原始 html 表格中的列数。如果您希望仅使用默认值,请使用“null”。

因此,如果您想禁用或启用对偶数或不均匀列的排序,您必须在 aoColumns 中明确声明。在上面的示例中,我禁用了不均匀列的排序并启用了偶数列的排序。

我希望这就是你想要达到的目标

【讨论】:

我不明白如何对不均匀的行进行排序。 @FlavioTorre 我已经编辑并添加了一个示例,看看它是否符合您的要求

以上是关于可排序的表格 jQuery的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 HTML 表格的 jQuery UI 可排序

jQuery UI 将可排序列表保存到 PHP 数组

像 vue.js 组件一样可排序(没有 npm / webpack)或在 vue 区域内使用 jQuery 插件

关于非排序 jQuery 数据表的问题

使用可排序的 jQuery UI 对多个表行进行排序

jquery.ui 可使用表和 item:tr 排序,占位符困难