делать сортировку таблицы jQuery по возрастанию при каждом нажатии на новый столбец - PullRequest
0 голосов
/ 10 октября 2011

Я хотел бы спросить, есть ли способ сортировки таблиц по возрастанию при каждом нажатии на новый столбец?

спасибо!

Ответы [ 2 ]

2 голосов
/ 08 декабря 2011

Если вы хотите, чтобы столбцы сортировались только по их начальному направлению сортировки, найдите и закомментируйте эту строку в jquery.tablesorter.js:

this.order = this.count++ % 2;

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

У меня была ситуация (которая может быть такой же, как вы описали), когда я хотел, чтобы каждый столбец сортировался в начальном направлении сортировки.в первый раз, когда я нажал, но все еще хотел иметь возможность сортировать другое направление, когда я нажал снова.например.Нажатие на столбец A приведет к сортировке ASC, затем повторное нажатие приведет к сортировке DESC, а затем снова к ASC.Нажатие B приведет к сортировке ASC, затем повторное нажатие A приведет к сортировке ASC.С исходным кодом сортировщика таблиц этой последней сортировкой был бы DESC, поскольку столбец А в качестве предыдущего щелчка был ASC.

Вот как я решил это.Это может быть глупо и неуклюже, но это работает для меня.

В функции buildHeaders найдите эту строку:

this.order = formatSortingOrder( checkHeaderOrder(table, index) );

и добавьте после нее:

this.initialOrder = formatSortingOrder( checkHeaderOrder(table, index) );

Заменить строку, о которой я упоминал ранее:

this.order = this.count++ % 2;

этим:

if($lastColumn == i){
    this.order = ++this.count % 2;
}else{
    this.order = this.initialOrder;
}
$lastColumn = i;

Теперь,скажем, для столбца A sortInitialOrder был ASC, а для B - DESC.Произойдет следующее:

  1. Нажмите A: Сортировка A ASC
  2. Нажмите B: Сортировка B DESC
  3. Нажмите B: Сортировка B ASC
  4. Нажмите A: Сортировка ASC
1 голос
/ 08 декабря 2013

Вот разветвитель таблицы, в котором вы можете передать параметр lockedOrder: http://mottie.github.io/tablesorter/docs/example-options-headers-locked.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...