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 :

Trois Listes deroulante liées


Sujet :

JavaScript

  1. #41
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 270
    Par défaut
    ...mais je n'arrive pas à l'afficher?
    afficher quand et où ?

  2. #42
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    quand je remplis mon tableau DATA_PAYS et que je recherche une ville les infos que je viens de mettre ne s'affiche pas à l’écran.

  3. #43
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 270
    Par défaut
    J'ai mis un nouvel exemple qui tiens compte de ton besoin (du moment), je t'engage à regarder la source pour voir où est intégrer la demande d'affichage.
    L'appel de la fonction ce fait dans le case "liste-pays":.
    Listes liées avec liens v.2.

  4. #44
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 919
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    L'appel de la fonction ce fait dans le case "liste-pays":.
    C'est "se" je pense, je dis ça car tu avais fait un rappel... Comme ça on va réviser aussi le français...

  5. #45
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 270
    Par défaut
    Citation Envoyé par Beginner.
    C'est "se" je pense, je dis ça car tu avais fait un rappel...
    Excellent

  6. #46
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Salut NoSmoking

    Je vois que l'ont s'approche. J'ai voulu ajouter le N° se département à Bordeaux j'ai fait ceci dans la case "liste-pays"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeur= updateSelect( "liste-villes", liste, "lien", "ville_nom","dep_code");
    et dans "data_pays"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"ville_nom":"Bordeaux",  "dep_code": 33, "pays_code":"FRA", "lien":"pb=!1m18!
    sa ne fonctionne pas pourquoi ?

    Merci

  7. #47
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 270
    Par défaut
    N'ayant pas une vision global de ton projet j'avance pas à pas en essayant de décoder ce que tu souhaites faire.

    J'en conclue que tu cherches à afficher les données du département de la ville que tu viens de sélectionner.

    Petit rappel au préalable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /**
    * Fonction d'ajout des <option> à un <select>
    * @param   {String} id_select - ID du <select> à mettre à jour
    * @param   {Array}  liste - Tableau contenant les données à ajouter
    * @param   {String} valeur - Champ pris en compte pour la value de l'<option>
    * @param   {String} texte - Champ pris en compte pour le texte affiché de l'<option>
    * @returns {String} Valeur sélectionnée du <select> pour chainage
    */
    function updateSelect( id_select, liste, valeur, texte){
    cette fonction ne prend que quatre arguments donc le cinquième que tu passes est ignoré.

    Dans ce cas, lorsque tu initialises le <select> des villes il te faut passer en arguments
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeur= updateSelect( "liste-villes", liste, "ville_nom", "ville_nom");
    pour obtenir un code HTML du style
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <select id="liste-villes">
      <option value="">Choisir</option>
      <option value="Bordeaux">Bordeaux</option>
      <option value="Grenoble">Grenoble</option>
      <option value="Lyon">Lyon</option>
      <option value="Marseille">Marseille</option>
      <option value="Paris">Paris</option>
    </select>
    ensuite dans le case case "liste-villes": il te faut récupérer les informations concernant la ville choisie avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var infos = getDataFromTable( "ville_nom=" +valeur, data_villes);
    dans ce cas infos[0] contiendra les informations liées à la ville choisie, exemple de résultat pour Bordeaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    {
      "ville_nom": "Bordeaux",
      "dep_code": "33",
      "pays_code": "FRA",
      "lien": "pb=!1m18!1m12!1m3!1d90493.58959818837!2d-0.6561807083778035!3d44.86382822001264!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0xd5527e8f751ca81%3A0x796386037b397a89!2sBordeaux!5e0!3m2!1sfr!2sfr!4v1520083377220"
    }
    pour finir il te suffit d'utiliser le résultat.

    Nota : Regarde à quoi ressemble le dernier fichier data_pays.js que j'ai mis, j'ai ajouté les données départements dans la variable tbl_departement au cas où !

  8. #48
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Re,

    J'ai essayé de suivre ta consigne,
    j'ai mis.
    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
           //========================
           // ici on a choisi le pays
           //========================
           var info = getDataFromTable( "pays_code=" +valeur, data_pays);
           showInfoPays( info);
          // récup. des données
          liste = getDataFromTable( "pays_code=" +valeur, data_villes);
          // mise à jour du select
    		   valeur= updateSelect( "liste-villes", liste, "lien", "ville_nom","ville_nom");
       //   valeur= updateSelect( "liste-villes", liste, "lien", "ville_nom");
          // chainage sur le select lié
          chainSelect("liste-villes");
          break;
        case "liste-villes":
    		  var infos = getDataFromTable( "ville_nom=" +valeur, data_villes);
          // action finale
          if( valeur){
            valeur = "https://www.google.com/maps/embed?" +valeur;
            document.querySelector("#msg-wait").style.display = "block";
          }
          // affichage
          document.querySelector("#carte").src = valeur;
          break;
    Alors j'affiche pas les données "dep_code": "33", du département de la ville ex: Bordeaux que je viens de sélectionner

    Peut-être que j'ai zapé quelque chose?

    Max

  9. #49
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 270
    Par défaut
    Peut-être que j'ai zapé quelque chose?
    dans le code que tu fournis on voie bien que tu récupères les données associées à la ville mais aucune demande d'affichage !

    Dans un premier temps tu as fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //========================
    // ici on a choisi le pays
    //========================
    var info = getDataFromTable( "pays_code=" +valeur, data_pays);
    showInfoPays( info);
    il te faut donc faire la même chose une fois la ville choisie.

  10. #50
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Salut NoSomking,

    Bon là j’abandonne! sa devient trop compliqué et trop long je laisse la place à un autre.

    Merci @+

    Max

  11. #51
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 270
    Par défaut
    C'est bien dommage, le plus dur me semble avoir était fait !

    Il faut simplement faire preuve de méthode/logique pour récupérer les données dans chacune des « tables ».
    Une fois ces données récupérées l'affichage ne sera que formalités et dépendra de tes propres besoins.

    Une approche de ce que cela pourrait donner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    case "liste-villes":
      // récup. données de la ville
      infoVille = getDataFromTable("ville_nom=" + valeur, data_villes);
      // affichage des données
      showInfo(infoVille, "info-ville");
      // récup. du département
      var refDepartement = infoVille[0] ? infoVille[0]["dep_code"] : "";
      // récup. données du département
      infoDepartement = getDataFromTable("dep_code=" + refDepartement, tbl_departement);
      // affichage des données
      showInfo(infoDepartement, "info-departement");
      break;
    c'est pour le principe.

  12. #52
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Re,

    Je te remercie sa servira certainement à quelqu'un.

    A un de cet jour bonne journée

    Max

  13. #53
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 270
    Par défaut
    Je te mets quand même une v.3 qui tiens compte de ce que je t'ai mis plus haut.
    Listes liées avec liens v.3.

    A toi de voir !
    Bonne continuation quoiqu'il arrive

  14. #54
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Salut NoSmoking

    Voilà exactement ce que je voulait. Je vois que tu récupère les codes de data_pays tels que "pays_code, pays_nom, D_33 ou R_72 ect..."
    Deux choses: Est-il possible de changer pays_code, pays_nom, D_33 ou R_72 par Code Pays, Nom du Pays, 33, Insee 72.
    et supprimer l'affichage de Lien: pb=!1m18!1m12!1m3!1d90493.58959818837!2d-0.6561807083778035!3d44.86.....

    Voilà je te remercie et te souhaite une bonne journée

    Max

  15. #55
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 270
    Par défaut
    Voilà exactement ce que je voulait.
    Voilà une nouvelle qu'elle est bonne

    Deux choses: Est-il possible de changer pays_code, pays_nom, D_33 ou R_72 par Code Pays, Nom du Pays, 33, Insee 72.
    Tu fais ce que tu veux dans ton script, en interrogeant les différentes « bases » tu récupères des données tu n'as plus qu'à les mettre en forme.
    L'exemple que j'ai mis est très succinct et minimaliste et la routine d'affichage est des plus simple, affichage de toutes les clés et valeurs de l'objet lu.

    Pour continuer ton projet je pense qu'il faut que tu reviennes au début, et n'afficher que lorsque tu as fait le choix de la ville, donc retour à un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    case "liste-villes":
    // affichage des informations
    showInfos( valeur);
    break;
    C'est dans la fonction showInfos( valeur), ou valeur est la valeur de l'option choisie, qu'il te faut lire les différentes « bases » pour récupérer les données et ne garder que ce qui t'intéresse à des fins d'édition dans ta page.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    infoVille = getDataFromTable("ville_nom=" + valeur, data_villes);
    if (infoVille[0]) {
      // récup. réfèrence du département
      ref = infoVille[0] ? infoVille[0]["dep_code"] : "";
      // récup. données du département
      infoDepartement = getDataFromTable("dep_code=" + ref, tbl_departement);
      // récup. réfèrence du pays
      ref = infoVille[0] ? infoVille[0]["pays_code"] : "";
      // récup. données du pays
      infoPays = getDataFromTable("pays_code=" + ref, data_pays);
      // construction du HTML
      // etc ...
    Tu peux t'inspirer de ce que j'ai fait dans la v.3.

  16. #56
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Bonjour NoSmoking,

    Après quelque jour de vacances je me remet au travail plus fatiguer qu'au paravent Bref!

    Pour continuer ton projet je pense qu'il faut que tu reviennes au début, et n'afficher que lorsque tu as fait le choix de la ville, donc retour à un simple code
    Je ne demande pas mieux, mais le JavaScript et toujours une bête noir pour moi.La première des choses à faire et que sa s'affiche que lorsque je fait le choix de la ville?
    Et sa se n'est pas gagné !

    Bon je te souhaite une bonne journée et à plus.....

    Max

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. [AC-2010] Creer trois listes deroulantes dependantes
    Par azou17 dans le forum IHM
    Réponses: 0
    Dernier message: 27/02/2014, 00h57
  2. N'efface qu'une option de liste deroulante sur trois
    Par caro71ol dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 24/01/2011, 14h55
  3. [MySQL] comment créer trois listes deroulantes dynamiques liées et tirées de trois tables
    Par manfal dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/02/2009, 16h34
  4. liste deroulante avec plusieurs champs
    Par JulienT dans le forum Struts 1
    Réponses: 4
    Dernier message: 20/04/2004, 17h17
  5. [langage] liste déroulante
    Par Jeh dans le forum Langage
    Réponses: 6
    Dernier message: 16/09/2003, 10h14

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