使用jQuery / TinySort循环最高 - >最低 - >原始订单

时间:2013-03-29 10:50:27

标签: jquery sorting toggle

以下是一个简单的排序,它将从低到高排序。

$('button').click(function() {
    $('li').tsort();
});

当再次按下按钮时,我需要一个从高到低再到原始顺序的方法。

想想维基百科上的表头列。

我原来的计划是为点击次数存储一个变量。使用jQuery有更优雅的方法吗?

我无法理解TinySort如何记住原始订单,但查看文档(http://tinysort.sjeiti.com/)似乎有一个自定义函数来返回原始订单。有人能告诉我一个例子吗?

1 个答案:

答案 0 :(得分:1)

如果您的意思是“原始”参数,那么您就会误解。如果选择是子选择,那么这是一个布尔值并进行排序。 (所以这只适用于您在20个项目列表中排序10个项目,将未分类的项目保留在原始位置)。

您要做的是首先创建一个jQuery对象来存储订单。 然后排序但使用新的jQuery对象。 然后用第一个替换内容。

var $Parent = $('ul')
    ,$Original = $Parent.find('li')
    ,isSorted = false
    ,$Button = $('button').click(function() {
        if (isSorted) {
            $Original.appendTo($Parent);
            isSorted = false;
        } else {
            $Parent.find('li').tsort();
            isSorted = true;
        }
    });

我还没有测试过代码,但这就是我的方法。 (哦..这只适用于单个无序列表)

罗恩