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 partie nom


Sujet :

jQuery

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 7
    Par défaut Récupérer partie nom
    Bonjour à tous,

    Je rencontre actuellement un souci qui me bloque depuis plusieurs heures ....
    Je dispose d'un collection d'éléments; chacune d'entre elles est également composé de collection d'éléments :
    -ELEMENT PARENT 1
    --ELEMENT ENFANT 11
    --ELEMENT ENFANT 12
    -ELEMENT PARENT 2
    --ELEMENT ENFANT 21
    --ELEMENT ENFANT 22
    --ELEMENT ENFANT 23
    ...
    Chaque élément enfant contient deux radio boutons et, en fonction de la valeur de ces radio boutons, je souhaite afficher/cacher deux champs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $(document).on('change', '#lebundle_parent_0_enfant_0_typeElement_0', function(){
                $("#lebundle_parent_0_enfant_0_option1").hide('fast');
                $("#lebundle_parent_0_enfant_0_option2").show('fast');
            });
    $(document).on('change', '#lebundle_parent_0_enfant_0_typeElement_1', function(){
                $("#lebundle_parent_0_enfant_0_option2").hide('fast');
                $("#lebundle_parent_0_enfant_0_option1").show('fast');
            });
    Je voudrais donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $(document).on('change', '#lebundle_parent_CHIFFRE1_enfant_CHIFFRE2_typeElement_0', function(){
                $("#lebundle_parent_CHIFFRE1_enfant_CHIFFRE2_option1").hide('fast');
                $("#lebundle_parent_CHIFFRE1_enfant_CHIFFRE2_option2").show('fast');
            });
    $(document).on('change', '#lebundle_parent_CHIFFRE1_enfant_CHIFFRE2_typeElement_1', function(){
                $("#lebundle_parent_CHIFFRE1_enfant_CHIFFRE2_option2").hide('fast');
                $("#lebundle_parent_CHIFFRE1_enfant_CHIFFRE2_option1").show('fast');
            });
    pour chaque parent_LE_CHIFFRE1
    pour chaque enfant_LE_CHIFFRE2
    effectuer les changements adéquats

    Sachant que je peux avoir un nombre illimité de parent et dans chaque parent d'enfants, je ne vois pas du tout comment faire...
    J'avais pensé à extraire les deux chiffres séparément mais cela n'a pas fonctionné.

    Je vous remercie d'avance pour votre aide / vos pistes.

    Cordialement,
    DocJWL.

  2. #2
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    Deux possibilités

    Une sans modifier tes balises html:
    il suffit de parser l'id au moyen d'une reg ...

    Une en ajoutant a la balise un attribut data avec le chiffre

    SI tu as un bout de html avec les parents et enfant je peux essayer de monter un petit fiddle ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 7
    Par défaut
    Hello,

    merci pour la réponse.

    La deuxième possibilité n'est pas faisable : je n'ai pas la main sur les balises (générées par un outil).
    La première solution je l'avais testé, mais je suis heurté vite à un problème : pour parser l'id, il faut que je connaisse d'avance l'id généré non ?

    Et étant donné qu'il peut y en avoir 1 comme 500, je ne vais pas pouvoir récupérer les id pour les parser.... Vous voyez mon souci ?
    Chaque élément parent et enfant est généré automatiquement, lorsque l'utilisateur clique sur un bouton ...

  4. #4
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    à partir du moment ou l'id à un pattern... pas de souci

    file moi un bout de balises html ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 7
    Par défaut
    Ah ^^ alors voici le code des boutons qui permettent de cacher/afficher les zones de texte :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <input type="radio" 
    id="lebundle_parent_0_enfant_0_typeElement_0" 
    name="lebundle[parent][0][enfant][0][typeElement]" 
    required="required" 
    class="" value="type_elem0">
     
    <input type="radio" 
    id="lebundle_parent_0_enfant_0_typeElement_1" 
    name="lebundle[parent][0][enfant][0][typeElement]" 
    required="required" 
    class="" value="type_elem1">

    et enfin voici les zones de textes :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <select id="lebundle_parent_0_enfant_0_option1" 
    name="lebundle[parent][0][enfant][0][option1]" 
    class=" form-control">
     
    <select id="lebundle_parent_0_enfant_0_option2" 
    name="lebundle[parent][0][enfant][0][option2]" 
    class=" form-control">

    Je viens d'essayer de récupérer tous les id de tous les champs du document, d'ensuite filtrer sur le nom et de sélectionner les chiffres, en vain ...

  6. #6
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    Zone de texte ? je vois de select sans option ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 7
    Par défaut
    Oui excusez, un peu de fatigue
    c'est une liste déroulante, j'ai enlever les valeurs dans le code fourni car, je pense, non nécéssaires.

    Sinon en effet, il y a bien une liste d'option à la suite des champs à afficher/cacher
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <option value="1"> toto </option>
    <option value="2"> titi </option>
    <option value="3"> tata </option>
    <option value="4"> tutu </option>
    </select>

  8. #8
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    Un exemple
    (il y a un décallage entre le parent qui commence à 0 et les enfants à 1 ...
    https://fiddle.jshell.net/dr0fp00s/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 7
    Par défaut
    Bonjour,

    Merci pour la réponse.

    Effectivement ça fonctionne avec un élément.

    Mais le nombre peut varier infiniment, alors que là l'id est mis en dur dans le "sel = ...".
    J'avais déjà réussi à faire ce code (voir premier post), mais je voudrais le généralisé à parent_X_enfant_X avec X compris entre 0 et un nombre non connu, qui dépendra de la volonté de l'utilisateur d'ajouter des champs au formulaire

  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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    avec autant d'éléments que tu veux a condition que le pattern soit toujours le même
    https://jsfiddle.net/dr0fp00s/1/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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