Table à plugin de JQuery ne semble pas gérer une situation où elle est attachée à une table vide. Y a-t-il une solution crue autour de cela?
Dans mon application, l'utilisateur peut filtrer et rechercher les données et éventuellement, il propose un critère de recherche qui ne renvoie aucune valeur. Dans ces situations, il serait agréable de "détacher" la tablesorter ou de résoudre ce problème de manière à résoudre le code de sorte qu'il fonctionne avec une table vide. P>
Je suis actuellement en train d'utiliser le plugin comme celui-ci: P>
Line: 3 Error: '0.length' is null or not an object
5 Réponses :
Je pense que vous pouvez le faire pour vous-même.
if ($("#transactionsTable").find("tbody").find("tr").size() > 0)
BTW, j'ai trouvé une option traitant de tables vides. Le lien TableSorter.com/docs/example-empty-table.html démontre ce.
Son 2015 et le défaut existe toujours. J'ai utilisé l'approche de Tboi et ça a fonctionné bien.
Le problème est lié au fait que plusieurs parties de la base de code utilisent des lignes [0] pour déterminer 1) nombre total de colonnes, 2) le type d'analyseur à utiliser par colonne (par exemple "texte" vs "chiffre").
jusqu'à ce que ce bogue soit réparé, voici une solution de contournement facile: p>
tr.fake_row { display: none; }
<tr class="fake_row"><td>fake</td><td>123</td></tr>
Une approche plus générique serait de remplacer le plugin TableSorter lui-même pour vérifier les tables vides (jusqu'à ce qu'ils fixent le problème). Voir cet article sur les méthodes de noyau JQuery Wedroply: http: //www.bennadel.com/blog/1624-ask-ben-overriding-core-jquery-methods.htm
Ceci a été corrigé dans le dernier TableSorter ( Voir le numéro 95 ). p>
En fait, j'utilise la version 2.0.5B, que je pense est la dernière version la plus récente, et c'est toujours un problème.
Étant donné que les plugins écrasants sont toujours une mauvaise idée, voici une approche différente: si vous souhaitez simplement vous assurer que votre tableau de données contient des lignes de données réelles, le sélecteur JQuery: a () le travail fait aussi.
$('table.tablesorter:has(tbody tr)').tablesorter({ // your tablesorter config here });