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

Servlets/JSP Java Discussion :

Remplissage combo box selon le résultat d'une autre


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Remplissage combo box selon le résultat d'une autre
    Bonjour,
    J'aimerais avec dans ma jsp deux combo box. L'utilisateur choisi un résultat pour la premiere, puis selon le résultat de la premiere la deuxieme se remplit avec les valeurs adéquates.
    Par exemple pour la premier combo: Animal, fruit
    Si l'utilisateur choisi animal, dans la deuxieme on aura mamifère, ovipare etc...
    Quelles méthodes existent pour réaliser cet exploit ?
    Blague à part, merci pour vos réponses

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Il existe bien des manières de faire...

    De la plus évidente à la plus rapide :

    1) soumission du formulaire sur onchange de la première combo
    2) traitement ajax sur onchange de la première combo
    3) charger des "objets" javascript et les manipuler via DOM (ou JQuery)
    ...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Alors si j'ai bien compris on aurait deux selects:
    le premier:

    le second

    et la fonction js

    Mais le probleme c'est que mes valeurs qui doivent être envoyé dans le second select sont dans une bdd, comment faire pour les récupérer ?
    De plus, ici il y a toujours le meme nombre de choix dans le seconde select, comment faire si dans un cas on en a 4 puis dans le second cas 7 par exemple ?
    Merci pour ta réponse

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Bon je n'arrive pas a poster du code sur le post précédent, j'ai une erreur 101... -_-

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Regarde ceci, c'est une façon de faire
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    <html>
     
    <head>
    <meta pragma="content-type" name="text/html; charset=UTF-8"/>
     
    <script>
     
    function Combo1(value, libelle)
    {
      this.value = value;
      this.libelle = libelle;
    }
     
    function Combo2(depend, value, libelle)
    {
      this.depend = depend;
      this.value = value;
      this.libelle = libelle;
    }
     
    var list1 = new Array();
    list1
    [list1.length] = new Combo1('V1', 'Animaux');
    list1
    [list1.length] = new Combo1('V2', 'Arbres');
     
    var list2 = new Array();
    list2
    [list2.length] = new Combo2('V1', 'A1', 'Lion');
    list2
    [list2.length] = new Combo2('V1', 'A2', 'Cheval');
    list2
    [list2.length] = new Combo2('V1', 'A3', 'Tigre');
    list2
    [list2.length] = new Combo2('V2', 'V1', 'Chêne');
    list2
    [list2.length] = new Combo2('V2', 'V2', 'Sapin');
    list2
    [list2.length] = new Combo2('V2', 'V3', 'Hêtre');
     
    function pageLoaded()
    {
      var opts = document.forms[0].s1.options;
      opts[opts.length] = new Option('--- choisissez une option ---', '');
      for (var i = 0; i < list1.length; i++)
      {
        opts[opts.length] = new Option(list1[i].libelle, list1[i].value);
      }
    }
     
    function combo1Changed(v)
    {
      var opts = document.forms[0].s2.options;
      opts.length = 0;
      for (var i = 0; i < list2.length; i++)
      {
        if (list2[i].depend == v)
        {
          opts[opts.length] = new Option(list2[i].libelle, list2[i].value);
        }
      }
    }
    </script>
     
    </head>
     
    <body onload="pageLoaded()">
     
     
    <form>
    Combo 1<select name="s1" onchange="combo1Changed(this.value)"></select><br>
    <br>
    Combo 2<select name="s2"></select><br>
    </form>
     
    </body>
     
    </html>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Merci,
    Mais par rapport à la connexion à la bdd je suis obligée de passer en php ou je peux quand meme le faire en java ?
    J'ai essayé de faire quelque chose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    list2[list2.length] = new Combo2('V1', 'A1',
    <% String plop = "plop";
    out.print(plop);
    %>);
    Mais comme je pensais, ca ne passe pas.
    Merci beaucoup en tout cas

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Je ne comprends pas trop ta question mais oui, on peut accéder aux données d'une base de données en java, heureusement...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Salut,
    Je sais que l'on peut accés au bdd en java avec jdbc. Ce que je souhaite c'est que les valeurs de ma combo proviennent de la base de données.

    Par exemple dans le premier on aurait comme choix Table1 ou Table2 et dans le second les valeurs de la Table1 ou alors les valeurs de la Table2. J'ai donc besoin de récupérer le résultat du premier combo, puis de rechercher dans la bdd les valeurs qui correspondent au deuxieme combo.

    Voila j'espère que j'ai été plus clair.
    Je ne sais juste pas comment remplir la seconde combo, j'ai déja le code en java, mais je ne sais pas comment l'implémenter dans ce cas vu que les combo sont incrémenté en javascript.
    Merci

  9. #9
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Personne n'a de réponse ?

Discussions similaires

  1. Remplir un Combo box selon une valeur
    Par lilloDay dans le forum Windows Forms
    Réponses: 4
    Dernier message: 06/07/2010, 12h46
  2. [XL-2007] Combo box et renvoie valeur dans une cellule!
    Par bedoch dans le forum Excel
    Réponses: 1
    Dernier message: 15/03/2010, 23h59
  3. combo box afficher plusieurs valeurs d'une requête
    Par Cupidon dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/10/2008, 17h10
  4. Chercher dans une table selon le résultat d'une autre
    Par AIexis dans le forum Requêtes
    Réponses: 6
    Dernier message: 24/03/2008, 23h09
  5. [DDE]envoi de mail automatique selon le résultat d'une requête
    Par celiaaa dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 10/04/2007, 19h10

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