Como posso forçar jQuery tablesorter sempre classificar uma coluna em uma direção?

StackOverflow https://stackoverflow.com/questions/859925

  •  21-08-2019
  •  | 
  •  

Pergunta

Eu tenho uma tabela ordenada de resultados para um evento esportivo. Quando eu clicar em um cabeçalho, eu quero tipo do melhor ao pior, sempre. Eu não quero que ele se inverta quando eu clicar novamente. Em alguns casos o "melhor" é a menor quantidade de tempo, e outro caso, o "melhor" é a quantidade maior (isto é, mais peso, mais longa distância). Tive pouca sorte até agora.

Foi útil?

Solução

Nunca tablesorter usado antes, mas tendo um olhar rápido, não parece como ele faz o que você quer que ele faça para fora da caixa. Aqui estão um par de hacks (não testado) eu vim com:

Uma maneira (abreviação de modificar a fonte plugin) seria pegar em neste exemplo e adicionar um manipulador de eventos click para as células de cabeçalho para acionar o seu tipo usando uma ordem definida. Você pode ter que remover o manipulador que o tablesorter plug-in adicionado, ou falso retorno de seu manipulador, para evitar a classificação duas vezes.

Como alternativa, se você não tem medo de mudar a fonte plugin, parece que linha 536 é o que você quer:

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

Substituir this.count++ % 2 com 0 para ascendente, 1 para descendente. Você também pode torná-lo mais robusto, adicionando uma "ordem forçada" como uma opção (ver linhas 94-114), talvez até mesmo tornando-se em uma matriz (como sortList) para indicar quais colunas devem ter o fim forçado.

Boa sorte!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top