2010-01-16 9 views
0

Bonjour, J'utilise tablesorter et je voudrais apporter une légère modification à son fonctionnement. Actuellement, tablesorter trie une colonne chaque fois qu'un utilisateur clique sur une partie de la cellule.Jquery Tablesorter header

Par exemple.

<th>One</th> 
<th>Two</th> 
<th>Three</th> 

Je ne aime pas particulièrement le style par défaut de la trieuse, donc ce que je l'ai fait est fait quelques boutons css et les a placés dans chaque:

<th><a class="button">One</a></th> 
<th><a class="button">Two</a></th> 
<th><a class="button">Three</a></th> 

Qu'est-ce que je dois modifier en le fichier .js de sorte que la zone cliquable soit l'ancre et non la cellule entière?

Répondre

1

Cela ne va pas répondre à votre question, mais c'est trop pour être un commentaire.

Je ne connais pas exactement le plugin jQuery tablesorter. Cependant, je vous suggère de modifier le CSS au lieu d'introduire de nouveaux éléments et de modifier le code du plugin.

Pour faire ce que vous voulez, vous devez unbind l'événement de tri lié aux éléments TH.

$("#tableid th:has(a)").unbind(); 

Vous devrez ensuite assigner/bind l'événement (s) aux <a class=button> respectifs des éléments.

$("#tableid th a").bind(someEventName, someFunctionName); 

L'événement pourrait être une bascule/clic ou autre chose, la fonction pourrait être un un anonyme afin que vous aurez à pêcher à partir des codes de plug-in.

Même si vous pouvez le faire, cela peut ne pas fonctionner, selon la façon dont l'événement a été implémenté. Il est peut-être préférable de modifier les styles CSS pour "th.header" "th.headerSortUp/Down".