首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让jQuery表排序默认降序?

如何让jQuery表排序默认降序?
EN

Stack Overflow用户
提问于 2009-10-23 23:56:11
回答 3查看 22.6K关注 0票数 17

我搞不懂这件事。这个问题在这里也被问到了,http://www.nabble.com/TableSorter-plugin---default-column-sort-DESC-instead--How--to25180761s27240.html#a25180761没有回应。

我试过了

代码语言:javascript
复制
    $.tablesorter.defaults.sortInitialOrder = 'desc';

并将jquery.tablesorter.js文件更改为默认的“desc”,但它不起作用。当我单击列标题时,第一个排序仍然是升序的,因此用户必须单击两次才能降级值。

如何让Tablesorter在默认情况下按降序排序?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-10-24 01:40:33

看起来像是表排序代码中的错误,或者我误解了sortInitialOrder参数应该做什么。在第536行,它通过查看列被排序的次数并采用mod 2值来设置排序顺序。它还应该考虑sortInitialOrder的值。

将第536行从

代码语言:javascript
复制
this.order = this.count++ % 2;

代码语言:javascript
复制
this.order = this.count++ == 0 ? this.order : (1 - this.order);

并在此行之后添加(这样,第一次单击不同的列就会得到默认值)

代码语言:javascript
复制
$headers.not($cell).each( function() {
    this.count = 0;
});

并将第421行从

代码语言:javascript
复制
o.count = s[1];

代码语言:javascript
复制
o.order = o.count = s[1];

以便在应用sortList时覆盖初始顺序。

然后,您可以使用tablesorter的sortInitialOrder参数为列设置默认的第一排序顺序。sortList中提供的任何排序都将覆盖为整个表提供的sortInitialOrder。

请注意,这适用于Tablesorter 2.0。

票数 15
EN

Stack Overflow用户

发布于 2011-05-17 10:36:29

试试tablesorter站点上的最新版本--这似乎是在版本2.0.3和2.0.5之间的某个地方修复的。

代码语言:javascript
复制
<script type="text/javascript">
$(document).ready(function() 
    { 
        $("#theTable").tablesorter({ 
            sortInitialOrder: 'desc',
            sortList: [[3,1]] // etc.

    }); 
    } 
); 
</script>

...that可以使用最新版本的tablesorter,但不能使用我之前使用的版本。希望它能帮上忙!

票数 23
EN

Stack Overflow用户

发布于 2010-09-16 12:23:18

简单地说,数组中的第二项是排序顺序(0 =升序,1=降序):

代码语言:javascript
复制
.tablesorter({ sortList: [[0, 1]] });
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1614390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档