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 :

Charger deux listes déroulantes


Sujet :

jQuery

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 44
    Par défaut Charger deux listes déroulantes
    Bonjour à tous ;
    je suis en cours de développer une application J2EE en utilisant les jsp et les servlet, j'ai un probléme concernant les listes déroulantes, en effet j'ai réaliser la liaison entre 2 listes, mais je peux le faire pour trois liste, par exemple j'ai une liste déroulant société qui contient les sociétés, quand je sélectionne une société, une deuxième liste s'affiche qui contient touts les services de cette société, le problème c'est lorsque je séléctionne un service je veux une autre liste qui contient les postes de ce service. je n'ai pas trouvé une solution pour exécuter ça. comment je peux le faire?
    Merci d'avance.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 243
    Par défaut
    Bonjour,
    ...c'est lorsque je séléctionne un service je veux une autre liste qui contient les postes de ce service. je n'ai pas trouvé une solution pour exécuter ça.
    appliques le même principe pour ta liste #2 vers #3 que ce que tu utilises pour ta liste #1 vers #2.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 44
    Par défaut
    c"est ce que j'ai essayer mais la valeur de liste #2 prend le null

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 243
    Par défaut
    Sans plus de code je dirais que tu mélanges les variables/éléments de référence.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 44
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Sans plus de code je dirais que tu mélanges les variables/éléments de référence.
    voici mon code :
    c'est pour le module ajax
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script>
    $(document).ready(function() {                                  
    	$('#soc').change(function() {                        
    		  $.get('Remplistser',{'id':document.getElementById("soc").value}, function(responseText) {    
    		    $('#ser').html(responseText);                          
    		  });
    		});
    $('#ser').change(function() {                        
    	  $.get('Remplistpos',{'id':document.getElementById("ser").value}, function(responseText) {    
    	    $('#pos').html(responseText);                          
    	  });
    	});
    	});
    </script>
    et ça, c'est ma page jsp, juste la partie d'appel

    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
    <table>
    				<tr height="30">
    					  <td><h4>Service : </h4></td><td><select name="soc" id="soc"><option selected="selected">--Choisir votre société--</option>
    					  <%String requete3 = "Select * from societe";
    						try
    						{
    							Statement stmt = Con.createStatement();
    							ResultSet resultat1 = stmt.executeQuery(requete3);
    							while (resultat1.next())
    							{
    								out.print("<option value='"+resultat1.getString("NomSoc")+"'>"+resultat1.getString("NomSoc"));
    							}
     
    						}
    						catch (Exception e) {
    							e.printStackTrace();
    						} %></select></td>
    					  </tr>
    						<tr height="30">
    					  <td><h4>Service : </h4></td><td><div id="ser"></td>
    					  </tr>
    					  <tr>
    					  	<td><h4>Poste : </h4></td><td><div id="pos"></div><%%></td>
    					  </tr>

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $.get('Remplistpos',{'id':document.getElementById("ser").value}, function(responseText)
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="ser"></td>
    1- Une balise div n'a pas d'attribut value, c'est la valeur du 2ème select que tu doit récupérer.
    2- Ta balise div n'est pas fermé.
    3- Pourquoi ne pas profité jQuery pour récupérer les valeurs : $("#id_element").val().

    Montre nous comment tu génères les autres select coté serveur appelé par la requête AJAX.

    A+.

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 44
    Par défaut
    comment je peut profité jQuery ?

    voilà le code du servlet qui génére les autres select
    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
    String selectedValue = request.getParameter("id");
    		String req="select * from service where NomSoc= '"+selectedValue+"';";
    		String ch="";
    		ch="<select name='ser'>";
    		try
    		{
    			Statement stmt = Con.createStatement();
    			ResultSet resultat1 = stmt.executeQuery(req);
    			while (resultat1.next())
    			{
    				ch=ch+"<option>"+resultat1.getString("NomSer")+"</option>";
    			}
    			ch=ch+"</select>";
     
    		}
    		catch (Exception e) {
    			e.printStackTrace();
    		}
    		response.setContentType("html");
     
            // Set response body content. response body is returned as Ajax Response Text
            PrintWriter writer = response.getWriter();
            out.print(ch);
            writer.close();
    et le module ajax c'est que je vous envoyé hier, avec la page jsp

  8. #8
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Corrige d'abord ton code par rapport aux deux première remarque.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ch="<select name='ser'>";
    Donne un id à ton select généré.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ch=ch+"<option>"+resultat1.getString("NomSer")+"</option>";
    Les options générées n'ont pas d'attribut value.

    A+.

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 44
    Par défaut
    donc je doit ajouter l'attribut value, et aprés je les récupére par ta méthode $("id").val() ?

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Il y a pas mal d'erreur dans ton code:
    1- C'est sur un select que tu dois mettre l'attribut onchange mais pas sur un div.
    2- Au moment où ta page est chargé, tu n'as pas encore le second select, donc l'attribution dynamique de la fonction pour l'onchange en fonctionne pas. Crée deux fonctions et met dans les attributs onchange des select (premier select, et dans les deux selects générés).
    Pour le cas de récupération des valeurs par jQuery, je voulais dire qu'au lieu d'utiliser document.getElementById, tu peux utiliser $("#un_ID").val().

    A+.

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 44
    Par défaut
    Désolé, je ne comprend pas bien ce que tu viens de dire, un bout de code peut être un peu claire, merci en tout cas.

  12. #12
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 243
    Par défaut
    Désolé, je ne comprend pas ce que tu ne comprends pas dans ce qu'a écrit andry.aime.

Discussions similaires

  1. Plus de deux listes déroulantes liées
    Par Mateache dans le forum ASP
    Réponses: 2
    Dernier message: 23/08/2006, 13h00
  2. [MySQL] Charger dynamiquement liste déroulante
    Par Jiraiya42 dans le forum PHP & Base de données
    Réponses: 40
    Dernier message: 27/06/2006, 17h40
  3. [AJAX] Synchronisation de deux listes déroulantes
    Par Le Rebel dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/03/2006, 00h28
  4. [PHP-JS] Lier deux listes déroulantes
    Par budiste dans le forum Langage
    Réponses: 6
    Dernier message: 15/11/2005, 16h36
  5. [WD5.5] Lier deux listes déroulantes
    Par grellierj dans le forum WinDev
    Réponses: 7
    Dernier message: 11/10/2005, 18h33

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