Можно ли с помощью jQuery tablesorter сбросить предыдущее состояние сортировки всех столбцов при выборе нового столбца?

См. http://jsfiddle.net/RPHA7/.

Я использую сортировщик таблиц jQuery.

В jsfiddle есть два столбца (Цвета и Животные), которые начинаются в несортированном состоянии. Когда вы нажимаете «Цвета», он сортируется по этому столбцу в порядке возрастания (синий, зеленый и т. Д.). Если вы затем нажмете «Животные», он отсортируется по этому столбцу также в порядке возрастания (трубкозуб, дельфин и т. д.). Если вы затем нажмете «Цвета» во второй раз, он отсортирует их в порядке убывания (красный, фиолетовый и т. д.).

Это кажется нелогичным. Я ожидаю, что он будет переключаться по возрастанию/убыванию, только если вы снова и снова нажимаете на один и тот же столбец. Щелчок по другому столбцу всегда должен запускать сортировку для этого столбца в порядке возрастания, независимо от предыдущего состояния.

Есть ли настройка в jQuery tablesorter (или какой-то хак), чтобы он работал так?


person Ben Lee    schedule 12.01.2012    source источник
comment
Я только что обновил свою вилку tablesorter, добавив новую опцию sortReset, который при значении true сбрасывает настройку сортировки выбранного столбца (не всех столбцов) при третьем щелчке; это может быть не совсем то, что вы хотели, но это еще один вариант;)   -  person Mottie    schedule 01.02.2012


Ответы (1)


хорошо, вам нужно добавить несколько строк в jquery.tablesorter.js:

в строке 727 у вас должно быть: this.order = this.count++ % 2;

сразу после него вставьте следующие строки:

for(var trc in $headers)
{
    if(trc != i)
        $headers[trc].count = 0;
}

Вот и все :)

person redmoon7777    schedule 12.01.2012