Как заставить сортировщик таблиц jQuery всегда сортировать столбец в одном направлении?

StackOverflow https://stackoverflow.com/questions/859925

  •  21-08-2019
  •  | 
  •  

Вопрос

У меня есть отсортированная таблица результатов спортивного мероприятия.Когда я щелкаю заголовок, я всегда хочу отсортировать от лучшего к худшему.Я не хочу, чтобы он менялся, когда я нажимаю еще раз.В некоторых случаях «лучшим» является самый короткий промежуток времени, а в других случаях «лучшим» является самый большой промежуток времени (т.е.наибольший вес, наибольшее расстояние).Мне пока мало везло.

Это было полезно?

Решение

Никогда раньше не использовал tablesorter, но при беглом взгляде кажется, что он не делает то, что вы хотите, из коробки.Вот пара (непроверенных) хаков, которые я придумал:

Одним из способов (если не считать изменения исходного кода плагина) было бы воспользоваться этот пример и добавьте обработчик событий щелчка в ячейки заголовка, чтобы запускать сортировку в определенном порядке.Возможно, вам придется удалить обработчик, добавленный плагином tablesorter, или вернуть false из вашего обработчика, чтобы избежать двойной сортировки.

В качестве альтернативы, если вы не боитесь изменить источник плагина, похоже, вам нужна строка 536:

// get current column sort order
this.order = this.count++ % 2;

Заменять this.count++ % 2 с 0 для восхождения, 1 для спуска.Вы также можете сделать его более надежным, добавив в качестве опции «принудительный порядок» (см. строки 94–114), возможно, даже превратив его в массив (например, sortList), чтобы указать, какие столбцы должны иметь принудительный порядок.

Удачи!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top