Le tri des lignes de la table selon le tableau d'en-tête de colonne à l'aide de javascript ou jquery

J'ai quelque chose comme ce

  <table><thead>
  <tr>
     <th>S.L.</th>
     <th>name</th>
  </tr>
 </thead>
<tbody>
  <tr>
     <td>1</td>
     <td>Ronaldo</td>
  </tr>
  <tr>
     <td>2</td>
     <td>Messi</td>
  </tr>
  <tr>
     <td>3</td>
     <td>Ribery</td>
  </tr>
  <tr>
     <td>4</td>
     <td>Bale</td>
  </tr>
</tbody>
 </table>

Ce que je veux, c'est de trier les <tr> de <tbody> lorsque l'utilisateur clique dessus th dans l'ordre croissant ou décroissant alternativement en fonction des éléments suivants th cliqué.

  1. donc, si quelqu'un clique sur le S.L th puis il montre les lignes de la table dans
    descendant puis montant de l'ordre alternativement à chaque clic.
  2. Lorsque l'utilisateur clique dessus Name th il doit afficher les noms dans l'ordre décroissant
    l'ordre et ensuite par ordre croissant sans changement dans leur
    S.L

ici est violon

  • Travail Violon... La question d'origine ici.
  • votre "Travail " Fiddle" ne fonctionne pas.
  • ici, vous allez, mon "Travail " Fiddle" a commencé à travailler
  • u peut mettre en œuvre dans jquery en utilisant ma solution coz je suis un peu faible en javascript @Bhavik
  • here you go
  • je l'ai eu mais ma curiosité est de savoir comment tu fait ça ? canu expliquer dans une réponse ? coz je n'ai pas compris les fonctions u utilisé. @Bhavik
  • Mis à jour avec quelques commentaires.. jsfiddle.net/a2seK/6
  • mais si nous ne savons pas le deuxième paramètre dans votre fonction sort_table je.e la nth child comment le faisons-nous ? @Bhavik
  • Effectuez l'une des solutions de l'utilisation memoization, qui est, stockent-ils leurs résultats afin qu'ils puissent être utilisées? D'y penser un peu plus difficile, cela peut nécessiter une actualisation de la page entière si les lignes de la table sont ajoutées/modifiées/supprimées. Une autre idée est de créer un structure de données supplémentaires(s) et de pré-trier les données.

InformationsquelleAutor user3508453 | 2014-06-04