回答編集履歴
1
本体の修正を追記ですにゃ
answer
CHANGED
@@ -3,11 +3,32 @@
|
|
3
3
|
プラグインのファイルを書き換えるのではなく、
|
4
4
|
オプションで設定すればいいみたいですよ:
|
5
5
|
|
6
|
-
```
|
6
|
+
```JavaScript
|
7
7
|
$("table").tablesorter({
|
8
8
|
//最初の列を昇順でソート、3番目の列を降順でソートする
|
9
9
|
sortList: [[0,0],[2,1]]
|
10
10
|
});
|
11
11
|
```
|
12
12
|
|
13
|
-
[テーブルの列数(最初が0), ASCなら0でDESCなら1]
|
13
|
+
[テーブルの列数(最初が0), ASCなら0でDESCなら1]
|
14
|
+
|
15
|
+
ーーー本体の修正ーーー
|
16
|
+
|
17
|
+
[tablesorter.js 707行](https://github.com/christianbach/tablesorter/blob/master/jquery.tablesorter.js#L707)に変数`beforeClickHeader`を追加
|
18
|
+
```JavaScript
|
19
|
+
sortOrder, beforeClickHeader;
|
20
|
+
```
|
21
|
+
|
22
|
+
[tablesorter.js 741行](https://github.com/christianbach/tablesorter/blob/master/jquery.tablesorter.js#L741)の下に追加
|
23
|
+
```JavaScript
|
24
|
+
if(beforeClickHeader && beforeClickHeader.innerHTML !== this.innerHTML ) {
|
25
|
+
beforeClickHeader.count = formatSortingOrder(config.sortInitialOrder);
|
26
|
+
}
|
27
|
+
beforeClickHeader = this;
|
28
|
+
```
|
29
|
+
ここののcountのインクリメントと剰余でorderのtoggleをしているんですにゃ。
|
30
|
+
保存先のthisはthなので、前にクリックされたものかどうか判別してcountを操作すればリセットできますにゃ。
|
31
|
+
これは仮にinnerHTMLで判別してますが、中が空っぽならidとかclassNameみたいな属性を使うといいですにゃ。
|
32
|
+
|
33
|
+
本体がバージョンアップされたらこのソースをその都度いれないとですから、
|
34
|
+
作者にリクエストを飛ばしてオプションで制御できるようにしてもらうといいと思いますにゃあ。
|