Как получить jQuery Tablesorter сортировать по убыванию по умолчанию?
Я не могу понять это. Этот вопрос также задавался здесь http://www.nabble.com/TableSorter-plugin---default-column-sort-DESC-instead--How--to25180761s27240.html#a25180761 без ответа.
Я пробовал
$.tablesorter.defaults.sortInitialOrder = 'desc';
и изменив файл jquery.tablesorter.js по умолчанию на "desc", но он не работает. Когда я нажимаю на заголовки столбцов, первый сортировка по-прежнему возрастает, поэтому пользователю нужно дважды щелкнуть, чтобы опустить значения.
Как я могу получить Tablesorter для сортировки по убыванию по умолчанию?
Ответы
Ответ 1
Похож на ошибку в коде 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.
Ответ 2
Попробуйте последнюю версию с сайта tablesorter - это, по-видимому, исправлено где-то между версиями 2.0.3 и 2.0.5.
<script type="text/javascript">
$(document).ready(function()
{
$("#theTable").tablesorter({
sortInitialOrder: 'desc',
sortList: [[3,1]] // etc.
});
}
);
</script>
..., который работал с последней версией tablesorter, но не с предыдущей версией. Надеюсь, это поможет!
Ответ 3
Просто используйте это, второй элемент в массиве - порядок сортировки (0 = восходящий, 1 = убывающий):
.tablesorter({ sortList: [[0, 1]] });