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 :

Récupérer contenu d'un tableau


Sujet :

jQuery

  1. #1
    Membre régulier Avatar de StripMat
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2014
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 206
    Points : 93
    Points
    93
    Par défaut Récupérer contenu d'un tableau
    Bonjour, j'ouvre cette discussion car je n'arrive pas à récupérer le contenu d'un tableau, j'ai ici des informations utilisateur que je souhaite comparer avec ma base de donnée.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <table id='table'>
    <tbody>
    <tr>
    <td>Text1</td><td>Text2</td><td>Text3</td><td><input type='button' id='1' onclick='Update()'></td>
    </tr>
    </tr>
    <td>TextI</td><td>TextII</td><td>TextIII</td><td><input type='button' id='2'  onclick='Update()'></td>
    </tr>
    </tbody>
    </table>

    Je voudrai qu'au clic un des bouton, la fonction Update() récupère tous les 'Text' de la ligne correspondante.

    J'ai éssayé des trucs comme sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    alert($(this).parent("tr").eq(0).html());
    alert($(this).parent("tr").eq(0).text());
    alert($("#table").children("td").eq(0).text());
    alert($("#table").children("td").eq(0).html());
    alert($("#table").children("td")[1].eq(1).html());
    Mais je n'affiche que des [object][Object] ou Undefined

    How to do ?

    PS: Y a t il un petit tools ou quelque chose pour m'aider à placer mes sélécteurs, en js ou jquery, j'perd un temps fou...

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Tu peux d'emblée éliminer les trois dernières propositions, comme aucune n'est relative à l'élément appelant (this). De plus le nœud table n'a pas d'enfants td, son seul nœud enfant est tbody.

    Concernant les deux premières propositions, elles ne fonctionnent pas simplement parce que ta balise input n'a pas de nœud tr comme parent direct. (.parent() renvoie le parent direct soit le nœud td).

    Tu as plusieurs possibilités:
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par CosmoKnacki Voir le message
    [...] soit tu remontes d'un niveau avec .parent() pour chopper le nœud td et ensuite tu atteints les nœuds td précédents qui sont au même niveau.(Attention, ils sont classés du plus proche au plus éloigné)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert ($(this).parent().prevAll('td').eq(-1).text());
    [ ...]
    Oui, avec l'inconvénient cité.

    Les ID sont inutiles (une classe suffit), on ne doit pas récupérer le texte du TD contenant le bouton, et l'on devra certainement améliorer la présentation du résultat en passant par la méthode jQuery.each(). Exemple :

    Code HTML : 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
    <table id="table">
        <tbody>
            <tr>
                <td>Text1</td>
                <td>Text2</td>
                <td>Text3</td>
                <td>
                    <button class="update">Mettre à jour</button>
                </td>
            </tr>
            </tr>
                <td>TextI</td>
                <td>TextII</td>
                <td>TextIII</td>
                <td>
                    <button class="update">Mettre à jour</button>
                </td>
            </tr>
        </tbody>
    </table>

    Code JavaScript : 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
    $( function(){ // forme abrégée de $(document).ready(function(){
     
        $( "#table > tbody" ).find( "button[class='update']" ).on( "click", function( event ){
            var jObTDParent = $( this ).parent(),
                jObjTRParent = $( this ).parents( "tr:first" ),
                jObjAutresTD = jObjTRParent.find( "td" ).not( jObTDParent ),
                tab = [];
     
            jObjAutresTD.each( function( i, item ){
                tab.push( $( item ).text() );
            });
     
            alert( tab.join( ", " ) );
        });
     
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Membre régulier Avatar de StripMat
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2014
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    Merci pour vos réponses, je pourrai essayer tout sa ce soir !

    Sujet résolu !

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

Discussions similaires

  1. Récupérer le contenu d'un tableau
    Par KDavid dans le forum Langage
    Réponses: 7
    Dernier message: 16/03/2009, 13h32
  2. Récupérer certaines lignes contenu dans un tableau
    Par alexbts dans le forum Langage
    Réponses: 14
    Dernier message: 27/01/2009, 17h03
  3. [RegEx] Récupérer contenu balise dans un tableau
    Par Darkcristal dans le forum Langage
    Réponses: 4
    Dernier message: 13/12/2008, 21h07
  4. Réponses: 8
    Dernier message: 21/12/2007, 16h42
  5. Réponses: 2
    Dernier message: 04/06/2007, 13h57

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