jQuery Tablesorter - в IE он меняет порядок сортировки каждый раз, когда я запускаю операцию сортировки - PullRequest
0 голосов
/ 14 марта 2012

Я выполняю вызов AJAX и обновляю числовые значения в столбце моей таблицы (я не добавляю новые строки и не удаляю существующие строки, просто обновляю значения внутри столбца, по которому я хочу отсортировать).

После успешного вызова AJAX я просто запускаю: $("#myTable").tablesorter( {sortList: [[4,0]]} ); для сортировки по столбцу 4 в порядке ASC.

Однако в IE каждый раз, когда запускается вышеуказанный код, он меняет текущий порядок. Таким образом, таблица переходит от заказа ASC к DESC к ASC к DESC ...

Я попытался вместо этого вызвать $("#myTable").trigger("update");, но это все еще меняет порядок сортировки в IE.

Есть идеи, как это отсортировать?

Спасибо!

1 Ответ

1 голос
/ 14 марта 2012

В tableorter после вставки / изменения таблицы вам нужно .trigger("update") и .trigger("sorton", ...), чтобы переопределить текущую сортировку.

Однако из-за того, что реализовано «обновление», вы не можетепросто два последовательных утверждения: .trigger("update"), за которым следует .trigger("sorton", ...).Это нелогично и обычно считается ошибкой.

Все это прекрасно объяснено здесь .Примените предложенный патч к вашей копии TableSorter и используйте следующую единственную инструкцию для достижения комбинированного эффекта обновления внутреннего представления TableSorter для таблицы и повторного применения текущей сортировки:

$("#myTable").trigger({type:'update', resort:true});
...