テーブルソーターの動作をオーバーライドしようとしていますが、指示に従っていません。
determineSorting
列のソート方法を決定する関数です。ある列から別の列をクリックすると、その列が ASC で並べ替えられます。そうしないと、ソートが逆になります。この関数が正しい値を返すと仮定します。
tableSort_click
テーブルをソートすることになっています。columnIndex
正しい値をsortIndex
持っていますが、何らかの理由でトリガーが間違っています。別の列に移動すると、その列は DESC でソートされます。ただし、その列の連続したクリックは正しいです。DESC の場合、ASC になります。
不適切な動作の理由は何ですか? tablesorter のデフォルトの並べ替えをオーバーライドできない可能性がありますか?
$('#sortable-table').tablesorter();
$("#sortable-table th").click(tableSort_click);
function tableSort_click() {
var sortInfo = determineSorting(this.id);
var columnId = sortInfo.elemId;
var sortOrder = sortInfo.sortOrder;
if (columnId && sortOrder) {
var columnIndex = $("#" + columnId).index();
// determine sort index
var sortIndex = -1;
if ("asc" == sortOrder) {
sortIndex = 0;
} else if ("desc" == sortOrder) {
sortIndex = 1;
}
// sort table
if (sortIndex > -1) {
var sorting = [[columnIndex, sortIndex]];
$('#assign-measures').trigger("sorton",[sorting]);
}
}
}