2012-01-12 2 views
2

http://jsfiddle.net/RPHA7/を参照してください。jQuery tablesorterを使用すると、新しい列が選択されたときに、すべての列の以前のソート状態をリセットできますか?

私はjQuery tablesorterを使用しています。

jsfiddleには、ソートされていない状態で始まる2つの列(Colors and Animals)があります。 「色」をクリックすると、その列の昇順(青、緑など)で並べ替えられます。 「動物」をクリックすると、その列も昇順(Aardvark、Dolphinなど)で並べ替えられます。 「色」をもう一度クリックすると、降順(赤、紫など)でソートされます。

これは直感的ではないようです。同じ列を何度も繰り返しクリックするだけで、昇順/降順を切り替えることができます。 異なる列をクリックすると、以前の状態に関係なく、常にその列のソートが昇順で開始されます。

jQueryのテーブル・セッター(または何らかのハック)にこのような設定をする設定がありますか?

+0

私のソリューションは機能しましたか? – redmoon7777

+0

はうまくいった、ありがとう! –

+0

[tablesorter](https://github.com/Mottie/tablesorter)のフォークを["sortReset"]という新しいオプションで更新しました(http://mottie.github.com/tablesorter/docs/#sortreset )、trueの場合、3回目のクリックでクリックされた列(すべての列ではない)のソート設定がリセットされます。それはあなたが望むものではないかもしれませんが、別のオプションです;) – Mottie

答えて

2

OKあなたがjquery.tablesorter.jsに数行を追加する必要があります。

ライン727上であなたが持っている必要があります:this.order = this.count++ % 2;

を、それが次の行を挿入した直後:

for(var trc in $headers) 
{ 
    if(trc != i) 
     $headers[trc].count = 0; 
} 

これはそれです:)

関連する問題