J'ai un très long tableau à 3 colonnes. Je voudrais
<table>
<tr><td>Column1</td><td>Column2</td></tr>
<tr><td>Column1</td><td>Column2</td></tr>
<tr><td>Start</td><td>Hiding</td></tr>
<tr><td>Column1</td><td>Column2</td></tr>
<tr><td>Column1</td><td>Column2</td></tr>
<tr><td>Column1</td><td>Column2</td></tr>
<tr><td>End</td><td>Hiding</td></tr>
<tr><td>Column1</td><td>Column2</td></tr>
<tr><td>Column1</td><td>Column2</td></tr>
</table>
Voici le résultat que j'essaie d'obtenir en utilisant jQuery.
Column1 Column2
Column1 Column2
...Show Full Table...
Column1 Column2
Column1 Column2
J'aimerais utiliser la fonction "show/hide" de jQuery pour minimiser le tableau tout en affichant une partie des rangées supérieure et inférieure. Les rangées du milieu doivent être remplacées par un texte du type "Afficher le tableau complet" et, lorsqu'on clique dessus, elles s'agrandissent pour afficher le tableau complet du début à la fin.
Quelle est la meilleure façon de faire cela en jQuery ?
J'ai déjà essayé d'ajouter une classe "Table_Middle" à certaines des lignes, mais elle ne la cache pas complètement, l'espace qu'elle occupait est toujours là et je n'ai pas le texte pour donner à l'utilisateur un moyen de développer complètement la table.
[EDIT] Ajout d'un exemple de travail HTML inspiré de la réponse postée par Parand.
L'exemple ci-dessous est un exemple fonctionnel complet, vous n'avez même pas besoin de télécharger jquery. Il suffit de le coller dans un fichier HTML vierge.
Il se dégrade gentiment pour ne montrer que le tableau complet si Javascript est désactivé. Si Javascript est activé, il masque les lignes centrales du tableau et ajoute les liens Afficher/Masquer.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Example Show/Hide Middle rows of a table using jQuery</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#HiddenRowsNotice").html("<tr><td colspan='2'> <a href='#'>>> some rows hidden <<</a></td></tr>");
$("#ShowHide").html("<tr><td colspan='2'><a href='#'>show/hide middle rows</a></td></tr>");
$("#HiddenRows").hide();
$('#ShowHide,#HiddenRowsNotice').click( function() {
$('#HiddenRows').toggle();
$('#HiddenRowsNotice').toggle();
});
});
</script>
</head>
<body>
<table>
<tbody id="ShowHide"></tbody>
<tr><th>Month Name</th><th>Month</th></tr>
<tbody>
<tr><td>Jan</td><td>1</td></tr>
</tbody>
<tbody id="HiddenRowsNotice"></tbody>
<tbody id="HiddenRows">
<tr><td>Feb</td><td>2</td></tr>
<tr><td>Mar</td><td>3</td></tr>
<tr><td>Apr</td><td>4</td></tr>
</tbody>
<tbody>
<tr><td>May</td><td>5</td></tr>
</tbody>
</table>
</body>
</html>
[EDIT] Lien mon article de blog et un exemple de travail.