Как заставить jQuery tableorter всегда сортировать столбец в одном направлении? - PullRequest
1 голос
/ 13 мая 2009

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

1 Ответ

2 голосов
/ 14 мая 2009

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

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

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

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

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

Удачи!

...