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

JavaScript Discussion :

Récupérer les id d'un tableau


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2004
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2004
    Messages : 105
    Par défaut Récupérer les id d'un tableau
    Bonjour à tous,

    Je cherche (surement mal) depuis ce matin pour analyser l'ensemble des "id" de ma page courante et identifier ceux que je dois afficher en fonction de leur "id" (qui se trouvent dans des TR).

    J'étais parti sur un script de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for (i=0;i<document.forms.length;i++){
       for (j=0;j=document.forms[i].elements.length;j++){
          var myElement = document.forms[i].elements[j].name;
          var myLength = myElement.length;
          if (myElement.substr(myLength-5,myLength) == "_toto"){
    	alert(toto);
          }
       } 
    }
    Malheureusement pour moi... ça ne fonctionne pas
    Alors... quelle erreur ai-je pu commettre ???

    Merci d'avance !!!

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    peux tu montrer un bout de code html ?
    car la je ne vois pas ou tu récupères l'id.

    quelle fonctionnalité cherches tu au final ? ( avec un bout de code html ce serait pas mal )

  3. #3
    Membre confirmé
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2004
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2004
    Messages : 105
    Par défaut
    Alors...

    J'ai 2 boutons radio et en fonction de l'un ou de lautre je veux afficher certaines lignes de mon tableau (formulaire) :
    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
    <table width="100%" align="center" cellpadding="0" cellspacing="0" >
    <tr><th colspan="2">Titre de formulaire</th></tr>
    <tr>
    <td width="20%" align="left">&nbsp;Ligne ou centre ?</td>
    <td align="left">&nbsp;<input type="radio" name="bt_thecafe" value="1" onclick="affichetr_the();"/> Thé
    &nbsp;<input type="radio" name="bt_thecafe" value="2" onclick="affichetr_cafe();"/> Café
    </td>
    </tr>
    <tr id="div_sachet_the" style="display:none;">
    <td align="left">&nbsp;Type de thé ? :</td>
    <td align="left">&nbsp;<input type="text" name="add_typethe" size="10" maxlength="40" value="">
    </td>
    </tr>
    </tr>
    <tr id="div_type_cafe" style="display:none;">
    <td align="left">&nbsp;Type de café ? </td>
    <td align="left">&nbsp;<input type="text" name="add_typecafe" size="10" maxlength="40" value="">
    </td>
    </tr>
     
    <tr>
    <th colspan="2" align="center"><INPUT type="submit" name="btvalider" value="Valider" onClick="this.submit();">
    </th>
    </tr>
    </table>
    Ptite fonction JS (mais bon... fastidieuse si on a une dizaine de champs !!!)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function affichetr_the(){
    document.getElementById('div_type_the').style.display = "" ;
    document.getElementById('div_type_cafe').style.display = "none" ;
    }
    Et inversement pour affichetr_cafe

    Et donc je voudrais afficher les lignes correspondants au café ou au thé en fonction du choix fait au niveau du radio bouton.

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    dans ce cas la petite feinte du cowboy , ajoute une classe a tes ligne :

    class="classe1" ou class="classe2"

    puis tu parcours toute tes lignes de tableau et tu regardes juste la classe de la ligne pour savoir si tu la masque ou non

  5. #5
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    +1 pour la combine donnée par le chômeur

    et aussi deux remarques vite fait :

    - alert(toto); ne risque pas de marcher car il n'y a pas de variable toto (dans l'extrait en tout cas ^^)

    - si tu connais déjà le type d'élément recherché, tu peux t'épargner le balayage de tous les éléments de tous les forms du document, en utilisant getElementsByTagName, qui s'applique aussi bien à document qu'à un élément donné du document, pour ne rechercher que dans le sous-arbre dont cet élément est la racine (ce qui n'est pas le cas de getElementById)
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var mes_tr = document.getElementsByTagName("TR");
    for (var i = 0; i < mes_tr.length; i++)
    {
    	var ma_tr = mes_tr.item(i);
    	if (...)
    	{
    		// ... mêmes traitements
    	}
    }

  6. #6
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Ah mais non !
    C'est ton appel à substr qui est mal construit je n'avais pas vu ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myElement.substr(myLength-5,myLength)
    ne peut pas fonctionner car le premier param donne bien la bonne position de départ pour extraire une sous-chaîne, mais le second param détermine combien de caractères tu veux extraire.... et mylength ca fait trop ^^

    Donc en admettant que tu veuilles trouver "_the" à la fin de la chaine myElement contenant "div_sachet_the", il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    myElement.substr(myLength-4,4)
    // ou bien
    myElement.substr(myLength-4)

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/03/2008, 22h22
  2. Réponses: 5
    Dernier message: 20/07/2007, 15h15
  3. Réponses: 6
    Dernier message: 27/09/2006, 20h27
  4. récupérer les doublons d'un tableau
    Par stoyak dans le forum Langage
    Réponses: 4
    Dernier message: 11/05/2006, 11h50
  5. [javascript] récupérer les "clés" d'un tableau
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/02/2006, 10h13

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