J'ai une table comme ceci:Jquery tablesorter - trier par colonne ayant <input> éléments
| Update | Name | Code | modification date |
| | name1 | code1 | 2009-12-09 |
| | name2 | otehercode | 2007-09-30 |
Lorsque la colonne de mise à jour contient des cases à cocher <input type='checkbox' />
. L'état initial de la case à cocher est déterminé avant le rendu de la table, mais une fois que les lignes ont été extraites de la base de données (en fonction de l'ensemble des conditions, côté serveur).
La case peut être cochée par défaut, non cochée par défaut ou désactivée (disabled='disabled'
comme attribut input
). J'utilise JQuery's Tablesorter pour trier mes tables. Et j'aimerais pouvoir trier par la colonne contenant les cases à cocher. Comment est-ce possible (je pourrais passer quelques attributs supplémentaires à mon élément input
peut-être, si cela pouvait aider ...)?
Dois-je écrire mon propre analyseur pour gérer cela?
Oh, super. Je savais qu'il devait y avoir un moyen facile, merci beaucoup :) – kender
J'ai essayé cela et ça ne marche pas pour moi. Les autres colonnes trient mais la colonne de case à cocher ne le fait pas. Chaque fois que la case est cochée/décochée, elle met à jour la valeur de portée masquée 1/0. Je peux voir cela se produire dans Firebug. – Martin
Ahh ... le problème est que TableSorter met en cache les données formatées pour accélérer le tri. Chaque fois que vous modifiez une entrée, vous devez appeler une fonction de mise à jour comme suit: $ (this) .parents ("table"). Trigger ("update"); – Martin