2010-04-21 5 views
0

Désolé si cela a déjà été résolu ailleurs mais mes recherches n'ont pu rien trouver et mes tentatives pour résoudre le problème moi-même ont fait encore moins de progrès. : PLigne cachée causant des problèmes avec striping zèbre de tablesorter

Dit simplement, j'ai une table qui utilise le tablesorter jQuery et son widget zebra. Dans ce tableau, il y a une colonne cachée. J'ai jusqu'ici réussi à faire en sorte que quand un tr contient du texte spécifique (je visais * mais était apparemment incapable de faire fonctionner \ * pour quelque raison que ce soit ... et je soupçonne que mon sélecteur n'est peut-être pas assez spécifique) la ligne contenant n'est pas affichée par ".hide()". Le problème que je rencontre est que lorsque la ligne est cachée, tablesorter fait exactement ce qu'elle doit faire et raye toutes les lignes de leurs couleurs spécifiques en fonction de leurs valeurs paires et impaires. Bien sûr, .remove ne fait pas l'affaire non plus car la table voit encore des bandes drôles.

Y a-t-il des réflexions sur la façon de faire en sorte que lorsqu'une rangée est cachée, la bande compense?

Répondre

1
$('table').find('tr:visible').doSomething() 

devrait le faire?

+0

On pourrait le penser. xD Bien que le sélecteur que j'ai utilisé pour masquer la ligne soit si tr contient du texte, alors masquer, mais c'est ce qui finit par gâcher le striping. Le masquage ou le retrait que je peux gérer sans problème. En forçant les rangées à être rayées correctement ou en d'autres termes, la rangée cachée compte maintenant dans le striping je suppose. .trigger ("update") ne semble pas faire l'affaire non plus mais je ne sais pas si je l'utilise correctement. xD – Harvengure

3

Je sais que le poste est vieux, mais je l'ai trouvé tout en essayant de résoudre le problème moi-même ...

a fini par utiliser ceci:

$('table tr').removeClass('alt'); 
$('table tr:visible:even').addClass('alt'); 

et jusqu'à présent, ça fonctionne comme un charme.

+0

Merci pour cette solution blindworld, m'a aidé. – Ivan

1

$('#sortable_table').trigger('update', [ true ]) fonctionne bien pour moi dans la résolution de ce problème. Bien sûr, '#sortable_table' peut être remplacé par n'importe quel sélecteur jQuery.

Questions connexes