Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/04/2011, 12h14   #1
Membre régulier
 
Avatar de horkets
 
Inscription : juillet 2005
Messages : 324
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 324
Points : 93
Points : 93
Par défaut tableau: row dynamique

Salut à tous,

J'utilise un tableau pour afficher le programme du jour.
Les attributs de ce tableau sont : heure_debut - heure_fin - intitulé - résumé

Etant donné que le résumé de l'intitulé est parfois tres long, je voudrais rendre la cellule de tableau (dans laquelle ce trouve le résumé) dynamique et faire en sorte que lorsque l'on clique sur une icone "+" (par exemple), la taille de la cellule dans laquelle le résumé se trouve grandisse pour afficher la totalité du contenu (le résumé)

Je ne connais pas encore le JQuery ... Est il possible de faire ce que je voudrais ?
Comment devrais je m'y prendre ?
Y a t il peut etre une meilleure solution (avec autre chose qu'un tableau ???)

Merci d'avance pour votre aide,

H
__________________
24 hours a day ... never enough
horkets est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 13h07   #2
Membre régulier
 
Avatar de horkets
 
Inscription : juillet 2005
Messages : 324
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 324
Points : 93
Points : 93
Je pense avoir trouvé ce que je cherchais ... http://www.javascripttoolbox.com/jquery/#expandablerows

Reste plus qu'a trouver le moyen de l'implémenter dans Drupal...
__________________
24 hours a day ... never enough
horkets est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 13h08   #3
Membre confirmé
 
Inscription : avril 2006
Messages : 507
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 507
Points : 239
Points : 239
Bonjour,

Tu peux mettre 2 div dans ta cellule, l'une en "display:none" contient tout ton texte, l'autre en "display:block" contient ton texte tronqué.

Sur ton bouton "+" un petit script : onclick="masqueAffiche(num);"

et enfin

Code :
1
2
3
4
5
6
 
 
masqueAffiche=function(num){
$("#divComplet"+num).toggle();
$("#divMasque"+num).toggle();
}
il faut bien sûr faire en sorte que le paramètre passé (num) corresponde au noms de tes div (surtout s'il sont construit dynamiquement en PHP)

et le tour est joué.

C'est un peu plus lourd lors de la construction de la page que si tu ne générait qu'une div à ce moment là, mais cela évite une requête $.post ou autre pour remplir la div à la volée.

Voilà c'est ce que je vois de plus simple à te proposer...

PS : la cellule s'adaptera toute seule à la taille de la div affichée.

Bonne journée
Alexdezark est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 13h36   #4
Membre régulier
 
Avatar de horkets
 
Inscription : juillet 2005
Messages : 324
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 324
Points : 93
Points : 93
Merci pour cette réponse rapide !

Citation:
il faut bien sûr faire en sorte que le paramètre passé (num) corresponde au noms de tes div (surtout s'il sont construit dynamiquement en PHP)
Dans ton exemple
Code :
1
2
3
4
masqueAffiche=function(num){
$("#divComplet"+num).toggle();
$("#divMasque"+num).toggle();
}
Que pourrait avoir le parametre num comme valeur ?
__________________
24 hours a day ... never enough
horkets est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 16h32   #5
Membre confirmé
 
Inscription : avril 2006
Messages : 507
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 507
Points : 239
Points : 239
Bin...

C'est principalement dans le cas ou ton tableau est construit dynamiquement en PHP.

Comme chaque "id" doit être unique dans une page, on incrément souvent une variable qui s'ajoute au nom de la div pour assurer son unicité (1, 2, 3, etc..)

C'est donc cette variable que tu dois passer à la fonction pour qu'elle sache sur quelle Div elle doit agir...

@+
Alexdezark est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 08h53   #6
Membre régulier
 
Avatar de horkets
 
Inscription : juillet 2005
Messages : 324
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 324
Points : 93
Points : 93
Salut,

Ma derniere question était mal posée, désolé.
J'avais d'abord tenté d'initialiser une variable que j'aurais utiliser comme id et que j'aurais incrémentée à chaque ajout de ligne, mais cela ne fonctionnait pas.
Comme j'utilise drupal, et que ma ligne de programme est un objet à part entiere, j'ai simplement récupéré l'id unique de cet objet pour le concaténer au nom de classe et tout est rentré dans l'ordre

H
__________________
24 hours a day ... never enough
horkets est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h07.


 
 
 
 
Partenaires

Hébergement Web