0

下面是一个简单的排序,从低到高排序。

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

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

想想维基百科上的表格标题列。

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

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

4

1 回答 1

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;
        }
    });

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

罗恩

于 2013-03-31T06:20:03.400 回答