質問

これを理解できません。この質問はここでも http://www.nabble.com/TableSorter-plugin---default-column-sort-DESC-instead--How--to25180761s27240.html#a25180761 応答なし。

試しました

    $.tablesorter.defaults.sortInitialOrder = 'desc';

jquery.tablesorter.jsファイルをデフォルトの「desc」に変更しますが、機能しません。列ヘッダーをクリックしても、最初の並べ替えはまだ昇順であるため、ユーザーは値を下げるために2回クリックする必要があります。

Tablesorterをデフォルトで降順でソートするにはどうすればよいですか?

役に立ちましたか?

解決

tablesorterコードのバグのように見えます。または、sortInitialOrderパラメーターが何をすべきかを誤解しています。 536行目では、列がソートされた回数を調べて値mod 2を取得することにより、ソーターの順序を設定します。sortInitialOrderの値も考慮する必要があります。

から536行目を変更

this.order = this.count++ % 2;

to

this.order = this.count++ == 0 ? this.order : (1 - this.order);

この行の後に追加します(別の列を最初にクリックするとデフォルトが表示されます)

$headers.not($cell).each( function() {
    this.count = 0;
});

および421行目を変更

o.count = s[1];

to

o.order = o.count = s[1];

sortListが適用された場合に最初の順序が上書きされるようにします。

その後、tablesorterのsortInitialOrderパラメーターを使用して、列のデフォルトの最初のソート順を設定できます。 sortListで提供される順序は、テーブル全体に提供されるsortInitialOrderをオーバーライドします。

これはTablesorter 2.0に適用されることに注意してください。

他のヒント

tablesorterサイトから最新バージョンを試してください-これはバージョン2.0.3と2.0.5の間のどこかに修正されているようです。

<script type="text/javascript">
$(document).ready(function() 
    { 
        $("#theTable").tablesorter({ 
            sortInitialOrder: 'desc',
            sortList: [[3,1]] // etc.

    }); 
    } 
); 
</script>

... tablesorterの最新バージョンでは機能しましたが、以前のバージョンでは機能しませんでした。役に立てば幸いです!

これを使用するだけで、配列の2番目の項目はソート順です(0 =昇順、1 =降順):

.tablesorter({ sortList: [[0, 1]] });
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top