0

我正在尝试覆盖 tablesorter 行为,但它没有遵循我告诉它的内容。

determineSorting是一个确定如何对列进行排序的函数。如果我从一列单击到另一列,它将对该列进行 ASC 排序。否则,它将反转排序。假设此函数返回正确的值。

tableSort_click应该对表格进行排序。columnIndexsortIndex具有正确的值,但由于某种原因,触发器是错误的。当我移动到另一列时,该列按 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]);
        }
    }
}
4

0 回答 0