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 に答える