IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

tableau: row dynamique


Sujet :

jQuery

  1. #1
    Membre éclairé Avatar de horkets
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    326
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 326
    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

  2. #2
    Membre éclairé Avatar de horkets
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    326
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 326
    Par défaut
    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...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  4. #4
    Membre éclairé Avatar de horkets
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    326
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 326
    Par défaut
    Merci pour cette réponse rapide !

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    masqueAffiche=function(num){
    $("#divComplet"+num).toggle();
    $("#divMasque"+num).toggle();
    }
    Que pourrait avoir le parametre num comme valeur ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut
    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...

    @+

  6. #6
    Membre éclairé Avatar de horkets
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    326
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 326
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. filtrer tableau croisé dynamique sous excel
    Par kernel57 dans le forum Excel
    Réponses: 7
    Dernier message: 17/11/2006, 14h18
  2. Tableau croisé dynamique
    Par papy_tergnier dans le forum Access
    Réponses: 5
    Dernier message: 26/12/2005, 18h05
  3. tableau croisé dynamique sous delphi, comment ?
    Par Brice Yao dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/07/2005, 09h33
  4. Tableau ouvert / dynamique ?
    Par Dry dans le forum Langage
    Réponses: 2
    Dernier message: 24/06/2004, 11h54
  5. [Tableau] Allocation dynamique du contenu
    Par VincenzoR dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 08/05/2004, 20h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo