La sortie de la grille de données asp.net n'inclut pas les éléments de thead et de tbody requis pour que la table de résultats jquery fonctionne.JQuery/Javascript: Modification côté client de la sortie de la base de données asp.net pour permettre à tablesorter de fonctionner
E.g. il ressemble à ceci:
<table>
<tr>this is my header row</tr>
<tr>content row 1</tr>
<tr>content row 2</tr>
<tr>content row 3</tr>
...
<tr>content row n</tr>
</table>
et il doit ressembler à ceci:
<table>
<thead>
<tr>this is my header row</tr>
</thead>
<tbody>
<tr>content row 1</tr>
<tr>content row 2</tr>
<tr>content row 3</tr>
...
<tr>content row n</tr>
</tbody>
</table>
Je frappai le javascript suivant pour les insérer de façon dynamique, mais la table est toujours pas sortable. J'ai confirmé que si j'insère manuellement les balises thead et tbody directement dans le HTML de sortie, la table est triable, mais quand j'essaye de le faire en utilisant le DOM, cela ne semble pas fonctionner.
Qu'est-ce qui me manque?
$(document).ready(function()
{
var tbl = document.getElementById('mytableid');
// new header and body elements to be inserted
var tblHead = document.createElement('thead');
var tblBody = document.createElement('tbody');
// get the first row and the remainder
var headerRow = $(tbl).find('tr:first')
var bodyRows = $(tbl).find('tr:not(:first)');
// remove the original rows
headerRow.remove();
bodyRows.remove();
// add the rows to the header and body respectively
$(tblHead).append(headerRow);
$(tblBody).append(bodyRows);
// add the head and body into the table
$(tbl).append(tblHead);
$(tbl).append(tblBody);
// apply the tablesorter
$(tbl).tablesorter();
}
);
EDIT: En fait, je résolu le problème avant que j'ai posté la question, mais je pensais que je serais aller de l'avant et après toute façon, car il peut être utile aux autres ... Voir ma réponse ci-dessous.
Cela a été un moment que je l'ai fait, mais je pense que je l'ai essayé et a constaté que la trieuse de table n'a pas aimé .. . –