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ération rang et cellule d'une table html dynamique


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Retraité informaticien
    Inscrit en
    Juillet 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité informaticien

    Informations forums :
    Inscription : Juillet 2007
    Messages : 29
    Par défaut Récupération rang et cellule d'une table html dynamique
    Bonjour,

    J'ai ce message d'erreur sur la ligne en italique :

    Cannot read property 'getElementsByTagName' of undefined
    Lors de l'utilisation de ces commandes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    row =document.getElementById('myTableRow').getElementsByTagName('tbody')[0].getElementsByTagName('tr')[updligne];
    row.getElementsByTagName("td")[7]=updmode;
    Tout ceci pour mettre à jour la cellule 7 du tableau contenant 7 lignes de la ligne donnée par la variable updligne dans laquelle il y a 5.
    J'ai mis des chiffres en dur pour le même résultat.

    Voila la construction de mon 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
     $('#liste').append(  '<table id="myTableRow" style="text-align: left; width: 100%;" border="1"   cellpadding="2" cellspacing="2"><body>');
                   $('#liste').append("<tr><th>rang<th>codepostal<th>ville<th>nom<th>tel<th>rue<th>tag<th>pro<th>mode</th></tr>");
     
    	   for (i = 0; i < len; i++){
                   var rang=results.rows.item(i).rang;
                   var codepostal=results.rows.item(i).codepostal;
                   var tel=results.rows.item(i).tel;
                   var tag=results.rows.item(i).tag;
                   var pro=results.rows.item(i).pro;
                   var rue=results.rows.item(i).rue;
                   nomville=results.rows.item(i).ville;
                   var nom=results.rows.item(i).nom;
                   var mode=results.rows.item(i).mode;
                   ajout_ville(nomville);
    			   creerBouton(i,rang);
                   $('#liste').append( '<td>' + codepostal + '</td>' );
                   $('#liste').append( '<td>' + nomville + '</td>');
                   $('#liste').append( '<td name=nom[]>'  + nom + '</td>');
                   $('#liste').append( '<td>' + tel + '</td>');
                   $('#liste').append( '<td>' + rue + '</td>');
                   $('#liste').append( '<td>' + tag + '</td>');
                   $('#liste').append( '<td>' + pro + '</td>');
                   $('#liste').append( '<td name=updmode[]>' + mode + '</td></tr>');
              }
     
                   $('#liste').append( '</body></table>');
    Si vous pouviez m'aider à régler ce problème.

    Je vous remercie.

    Meilleures salutations.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    ou tu utilises jQuery ou non mais les deux en même temps c'est souvent aller droit dans le mur, la preuve.

    En jQuery il existe la méthode jquery.find() qui devrait t'aider.

    Je vois que tu n'a pas tenu compte des remarques faite précédemment ici.

  3. #3
    Membre averti
    Homme Profil pro
    Retraité informaticien
    Inscrit en
    Juillet 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité informaticien

    Informations forums :
    Inscription : Juillet 2007
    Messages : 29
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Je vois que tu n'a pas tenu compte des remarques faite précédemment ici.
    Bonjour,

    Je n'ai pas trouvé le forum Jquery et la c'était du javascript.

    Je réussis à faire des instructions en js que je n'arrive pas en Jquery, j'utilise ce que j'arrive à faire fonctionner.

    Merci pour vos conseils.

    Meilleures salutations

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Je n'ai pas trouvé le forum Jquery
    jQuery le forum, celui où ce trouve maintenant cette discussion.

    ...et la c'était du javascript.
    jQuery c'est du javascript qu'on se le dise

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Aller un petit indice
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var oTDs = $( "table" ).find( "td" ); // quand même moins verbeux que le vanilla JS !
    // Exemple
    // récup contenu de la cellule Ligne:2 Colonne:4
    var nbrCol = 5;    // par exemple
        numLig = 1;
        numCol = 3;
        numCell = ( numLig *nbrCol) +numCol;
     
    alert( oTDs.eq( numCell).html());
    Attention les tableaux commence à l'indice 0

  6. #6
    Membre averti
    Homme Profil pro
    Retraité informaticien
    Inscrit en
    Juillet 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité informaticien

    Informations forums :
    Inscription : Juillet 2007
    Messages : 29
    Par défaut
    Merci pour vos réponses, j'ai trouvé cela qui a l'air de me satisfaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    oTD = document.getElementById('liste').getElementsByTagName('td');
    	for(i=0;i<oTD.length;i++){
    	 // alert(oTD[i].innerHTML);
        }
    	document.getElementById('liste').getElementsByTagName('td')[updligne][8]=updmode; // ne prend pas value ICI
           alert(document.getElementById('liste').getElementsByTagName('td')[updligne][8]);
    Le problème est que ce tableau est construit dynamiquement donc les éléments n'existent pas le premier getElementById doit se baser sur une id présente en dur dans la page, la je me base sur une div id liste.

    J'ai été élevé à la sauce Javascripr et Jscript on ne se refait pas, la conversion sera longue et douloureuse.

    Dans la ligne marquée il n'accepte pas value, je na sais pas quoi mettre pour mettre à jour une input, mais je mets bien à jour l'alert affiche la modif. mais pas à l'écran.

    Je vous remercie, je vais adopter la méthode Jquery puisque c'est le forum Jquery sinon il faudrait à nouveau déplacer mon sujet.

    Meilleures salutations, Bonne soirée.

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

Discussions similaires

  1. Récupération cellule d'une table sql
    Par thuglife dans le forum C#
    Réponses: 1
    Dernier message: 21/05/2010, 20h38
  2. [CSS]probleme de style sur cellules dans une table
    Par luimême dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 17/01/2006, 12h13
  3. Réponses: 8
    Dernier message: 15/07/2005, 14h23
  4. Affecter la valeur NULL à une cellule d'une table
    Par jacma dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 06/05/2005, 14h43
  5. cellule d'une table visible avec focus dans div scrollable
    Par echecetmat dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/03/2005, 10h57

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