Похоже на ошибку в коде TableSorter, или я неправильно понимаю, что должен делать параметр sortInitialOrder. В строке 536 он устанавливает порядок сортировки, просматривая количество раз, когда столбец был отсортирован, и принимая значение mod 2. Следует также учитывать значение sortInitialOrder.
Изменить строку 536 с
this.order = this.count++ % 2;
до
this.order = this.count++ == 0 ? this.order : (1 - this.order);
И добавить после этой строки (чтобы первый щелчок по другому столбцу дал вам значение по умолчанию)
$headers.not($cell).each( function() {
this.count = 0;
});
и изменить строку 421 с
o.count = s[1];
до
o.order = o.count = s[1];
так, чтобы первоначальный порядок был переопределен, если применяется sortList.
Затем вы можете использовать параметр sortInitialOrder для TableSorter, чтобы установить порядок сортировки по умолчанию для первого столбца. Любое упорядочение, указанное в sortList, переопределит sortInitialOrder, предоставленный для всей таблицы.
Обратите внимание, что это относится к Tablesorter 2.0.