【问题标题】:How to set default sorting order for each column in jQuery Tablesorter?如何在 jQuery Tablesorter 中为每一列设置默认排序顺序?
【发布时间】:2012-10-21 18:56:58
【问题描述】:

我有一个 HTML 表格,tablesorter 可以正常工作,我可以设置默认排序和其他所有内容(甚至是我自己的解析器)...但是:我需要一些列在之后按降序排序用户首先点击各自的标题。

默认情况下,所有列在第一次单击后按升序排序。我找到了一种方法将其更改为所有列的降序。但我需要的是在用户第一次点击它们后,按升序对某些列进行排序,对其他一些列进行降序排序。

示例:某些列包含字符串,因此我想按升序对它们进行排序。有些列包含的值越大越好 - 在用户第一次单击其标题后按降序对它们进行排序会很好。

谢谢。

【问题讨论】:

  • API 有设置列排序的示例..哪个部分出现问题或无法理解?
  • 你可能没有完全理解我的问题。请参阅 Mottie 的答案,这正是我的想法,我相信它不适用于 tablesorter.com/docs 的默认表格排序器。
  • 如果他不明白这个问题,有责任说清楚。

标签: jquery sorting tablesorter


【解决方案1】:

原来的tablesorter(2.0.5版)似乎不适用于这段代码:

$('table').tablesorter({

    // default sortInitialOrder setting 
    sortInitialOrder: "asc", 

    // pass the headers argument and passing a object 
    headers: {
        2: { sortInitialOrder: 'desc' },
        3: { sortInitialOrder: 'desc' },
        4: { sortInitialOrder: 'desc' }
    }

});

但在我的fork of tablesorter 中,您可以使用上面的代码来设置每列的初始排序顺序 - 请参阅this demo

还有一个名为 sortRestart 的选项,当列之前未排序时,它会重置排序顺序 - 请参阅 this demo

【讨论】:

  • 太好了,谢谢,这正是我的意思。使用您的 tablesorter 就可以了。
  • 几分钟后,我已经爱上了你的桌面分拣机。显然 sortRestart 也是一件很棒的事情,我喜欢你用 CSS 直接编写的箭头样式,而不是图像文件。再次感谢您。
  • 天哪,干得好!我很高兴你发布了这个。为什么tablesorter.com 上的分叉没有任何参考???
  • @neokio:我已经通知了作者我的分叉,他实际上是积极回应的,但后来没有跟进。
  • 解决方案发布已经一年多了。是否已经将 fork 更改放入主树中?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 2012-04-05
相关资源
最近更新 更多