我正在尝试覆盖 tablesorter 行为,但它没有遵循我告诉它的内容。
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]);
}
}
}