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 :

Comment parcourir tableau html avec jquery ?


Sujet :

jQuery

  1. #1
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 48
    Points
    48
    Par défaut Comment parcourir tableau html avec jquery ?
    salut, j'ai réussi à afficher les donnes stockée dans la base de données dans un tableau en utilisant jquery , pour chaque ligne j'ai un bouton "MAJ", je veux que lorsque je clique sur le bouton "MAJ" la ligne correspondante dans la table sera mise à jour , je sais qu'il faut utiliser les sélecteurs mais j'ai pas compris quels sont les sélecteurs qu'il faut les utilisés.
    merci d'avance.

    résultat de l'affichage :

    Nom : tableau.PNG
Affichages : 1921
Taille : 8,6 Ko

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Bonsoir,

    un truc du genre $(this).closest("tr").children("td") appelé depuis la fonction .click que tu as attachée à tes boutons, ça devrait marcher. Au besoin rajoute :eq(x) dans le sélecteur (où x = 1, 2 ou 3) pour sélectionner les <td> au cas par cas.

    Mais en connaissant la structure HTML du tableau, je pourrais mieux t'aider à trouver les bons sélecteurs à utiliser. Affiche la page dans Firefox, sélectionne tout le contenu du tableau et fais clic droit « Code source de la sélection ». Dans le code source qui s'affiche, copie uniquement le code qui correspond au tableau (sans les éventuels trucs autour) et colle-le ici en utilisant la balise [code] du forum.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    passe par les data- dans lequel tu mets l'id de la ligne
    et récupères le sur le click de ton bouton de façon relative

    as tu ce code html d'une ligne ?

  4. #4
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 48
    Points
    48
    Par défaut
    merci , c'est le code html du tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     out.println("<table id=tab border=1>");
              out.println("<tr>") ;
              out.println("<th>") ;            
              out.println("ID projet") ;
              out.println("</th>") ;
              out.println("<th>") ;    
              out.println("NOM projet") ;
              out.println("</th>") ;
              out.println("<th>") ;
              out.println("TYPE projet") ;
              out.println("</th>") ;
              out.println("<th>") ;
              out.println("MAJ") ;
              out.println("</th>") ;
              out.println("</tr>") ;
    for (Projet p : projets) {
              out.println("<tr>") ;
              out.println("<td>");
              out.println (p.getId_p());
              out.println("</td>"); 
              out.println("<td>");
              out.println (p.getNom_p());
              out.println("</td>");
              out.println("<td>");
              out.println (p.getType_p());
              out.println("</td>");
              out.println("<td>");
              out.println ("<input type=button value=MAJ class=maj>");
              out.println("</td>");
              out.println("</tr>") ;  
     
           }
    out.println("</table>");

  5. #5
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Tu as un début de code JavaScript ou pas du tout ?

  6. #6
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 48
    Points
    48
    Par défaut
    oui j'ai commencé par cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $("#tab td:eq(3)").click(function(){
    });

  7. #7
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Passe plutôt par les boutons, ce sera plus simple. En plus tu as mis une classe dessus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $(".maj").click(function() {
       console.log($(this));
     
    });
    Teste avec la console de ton navigateur, tu verras s'afficher les boutons dedans à chaque fois que tu cliques.

    Ensuite, relis mon premier message et normalement tu as tous les éléments pour y arriver

  8. #8
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 48
    Points
    48
    Par défaut
    j'ai testé dans le console et j'ai eu les boutons, j'ai ajouté ton premier message mais pas de résultat , en premier temps je veux que lorsque je clique sur un bouton MAJ d'une ligne l'id correspondant s'afficherait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(".maj").click(function(){
      alert( $(this).closest("tr").children("td"));
    });

  9. #9
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    alert est inutile, il ne fera qu'afficher [Object object]. C'est pour ça que je te parlais de la console.

    Ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
          $(".maj").click(function() {
             console.log( $(this).closest("tr").children("td") );
     
          });
    fonctionne chez moi : il m'affiche les <td> correspondant à la ligne du bouton cliqué. S'il ne marche pas chez toi c'est peut-être parce qu'il ne s'exécute pas au bon moment. Est-ce que tu utilises $(document).ready() ?

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    as tu ce code html d'une ligne ?
    il m'avait semblé demander le code html ... pas le code serveur...

    montre nous le code html d'un ligne .. d'un tr ...
    click droit sur la page afficher source ... ou dans la console .

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

Discussions similaires

  1. array dans un tableau html avec jquery
    Par xzonz dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/10/2011, 22h30
  2. [Tableaux] Imprimer un tableau (HTML) avec Mysql
    Par vandeyy dans le forum Langage
    Réponses: 4
    Dernier message: 27/06/2007, 11h23
  3. [SQL] trie colonnes tableau html avec order by
    Par digger dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/05/2007, 16h01
  4. [XSLT] aide pour faire un tableau HTML avec fusion de lignes
    Par utwor dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 02/01/2006, 21h41
  5. [VB6] recuperer des valeurs ds un tableau html avec vb!!
    Par leo13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/12/2004, 13h02

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