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 :

[JSP]Listes déroulantes


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut [JSP]Listes déroulantes
    Bonjour,

    J'ai un problème pour construire des listes déroulantes dynamiques. Voici le pb :

    J'ai une liste ( selection, option ... ) qui affiche le résultat d'une requête SQL ( exemple de liste : A B C D E F )

    Une fois que j'ai choisi une des lettres de la liste, j'aimerais qu'une autre liste déroulante s'affiche en dessous avec le résultat d'une requête SQL dépendante du choix de la première liste .

    En plus clair, si dans la liste 1 ,je clique sur A, cela me donne une autre liste composée de 1,2,3,4,5

    Par contre, si je clique sur B, cela me donne comme 2ème liste, 6,7,8,9

    J'ai donc deux questions :

    Comment faire pour afficher automatiquement une 2ème liste quand je choisis une valeur dans la 1ère ?

    et

    Comment faire la requête SQL dépendante du choix de la 1ère liste ?

    Merci d'avance


  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 90
    Points
    90
    Par défaut
    Ca fait toujours plaisir d'essayer d'aider un rouennais !

    donc en fait je pense qu'une solution pourrait etre :
    L'action A charge la liste A qui contient a,b,c,d et envoit sur la jsp A

    dans la jsp , tu mets un onchange sur la liste A. Ce onChange submit ton form sur une action B qui en fonction du choix dans la liste A (tu le récupères en faisant un request .getParameter ou form.getListeA)
    tu crée ta requete qui génére la Liste B et la mets en request .Ton action B renvoit jsur la jsp A.

    Dans la jsp A tu teste si liste B est en request alors tu l'affiche sinon c'est ke tu n'a rien choisit dans la liste A donc tu n'affiche pas.

    Voila j'espère ke ça pourra t'aider

    Bye

    Loïc

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Je te remercie pour ton aide ... mais j'ai encore quelques problèmes

    En fait, ces listes déroulantes font parties d'un formulaire composé d'autres objets et je ne peux donc pas soumettre le formulaire dans le onChange()

    en fait, j'ai

    <html:form>
    ...

    les listes déroulantes
    ...

    plus d'autres objets de formulaire
    ...

    bouton pour soumettre

    </html:form>

    je ne peux donc pas recharger la page comme cela ...

    Il faudrait dans le onChange que je fasse un style:display=""

    mais le pb c'est l'appel SQL ?

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 434
    Points : 15 806
    Points
    15 806

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 105
    Points : 107
    Points
    107
    Par défaut
    Tu peux faire cela en javascript

    Tu charges au préalable les résultats de ta requete dans des tableaux en JS. Genre un tableau pour afficher les valeurs de A (1,2,3,4,5) un autre tableau contenant les valeurs pour B (6,7,8,9) etc....
    Et sur le onChange de ta 1ère liste tu appel une fonction qui va te charger ta 2ème liste en fonction de la valeur saisi (envoyé en paramètre de ta fonction)
    et dans ta fonction tu n'as qu'a charger ta liste déroulante avec le contenu de ton tableau qui va bien...
    = )

    En gros c'est l'objet Option qui te permet d'ajouter des éléments dans ta liste.
    Si tu veux, j'ai un code pour traiter ce cas (j'avais 2 listes, et en fonction du choix sur la première, j'affichais le contenu de la seconde)

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup pour toutes ces informations.

    En fait, mon pb est résolu et j'ai suivi un peu l'idée de Loic_01, c'est à dire,

    J'ai une action pour la liste 2 qui me récupère dans la base de données les valeurs que je veux en fonction de mon choix dans la liste 1

    Au niveau de la jsp, liste 1, j'ai un onChange qui appelle l'action liée à la liste déroulante 2 ( je lui passe en paramètre le choix de la liste 1 ).

    Pour ne pas afficher les données de la liste 2 au départ , j'ai dans la page jsp

    <logic:notNull property=... name=....>
    <select et option> de liste2
    </logic:notNull>

    Ce qui donne donc au premier chargement liste 2 est nulle car je n'ai rien choisi dans liste 1

    Dès que je choisis dans liste 1, j'appelle onChange, qui récupère la valeur sélectionnée, les données pour listeDéroulante 2 ( elle n'est donc plus vide ) et je recharge la page.

    Il m'affiche ensuite donc les listes 1 et 2

    Voilà

    Merci beaucoup pour votre aide.

  7. #7
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 105
    Points : 107
    Points
    107
    Par défaut
    oki

    oublies pas de mettre le tag [Résolu]


  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par LoulouFifi
    oki

    oublies pas de mettre le tag [Résolu]

    Je viens de mettre le tag Résolu mais pourquoi ne se met-il pas en noir ?


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

Discussions similaires

  1. [JSP] Liste déroulante - affichage
    Par nemie dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 21/07/2008, 12h14
  2. [JSP]Liste déroulante au comportement étrange
    Par jdotti dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 11/05/2006, 16h47
  3. [JSP][Struts]Liste déroulante et bean
    Par prokcnet dans le forum Struts 1
    Réponses: 10
    Dernier message: 23/03/2006, 17h16
  4. [JSP][Liste déroulante]
    Par andrau dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/08/2005, 10h42
  5. [ JSP ][ Débutant ] Liste déroulante + actualisation de page
    Par captainpouet dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 17/04/2004, 20h51

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