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 :

Select onchange js


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 137
    Points : 65
    Points
    65
    Par défaut Select onchange js
    J'ai déjà posté ma demande ici:
    http://www.developpez.net/forums/d63...lect-onchange/

    A savoir, j'ai commencé à faire ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     function select() {
                document.getElementById('idSelect').onchange = recup;
            }
            function recup() {
                /* récupération de la valeur sélectionnée */
               var valeur = document.getElementById('idSelect').value;
               window.alert(valeur);
            }
    Merci

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    et comme ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    document.getElementById('idSelect').onchange = function(){
    alert(document.getElementById('idSelect').value);
    }

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Il est tout de même très fortement déconseillé d'utiliser select comme nom de variable ou de fonction !

  4. #4
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Il est tout de même très fortement déconseillé d'utiliser select comme nom de variable ou de fonction !
    C'est bien vrai, d'autant plus que rien ne déclenche cette fonction. Si c'est un onchange de ton select qui la déclenche, aucun interet de redéclarer, dans cette meme fonction l'évenement onchange.

  5. #5
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 137
    Points : 65
    Points
    65
    Par défaut
    Bonsoir,

    Citation Envoyé par ThomasR Voir le message
    Bonjour,

    et comme ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    document.getElementById('idSelect').onchange = function(){
    alert(document.getElementById('idSelect').value);
    }
    Je l'ai testé dès le début et ça n'a rien donné

  6. #6
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 137
    Points : 65
    Points
    65
    Par défaut
    c'est ok pour la récupération d'un élément de la liste mais comment faire pour récupérer les libellés?

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementById('idSelect').options[document.getElementById('idSelect').selectedIndex].innerHTML);

  8. #8
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 137
    Points : 65
    Points
    65
    Par défaut
    Merci pour ton aide mais je crois tu n'as pas compris ce que je voudrais obtenir.
    En fait, lorsque je sélectionne 999, dans le txt correspondant, il faut que ça m'affiche "libelle" (qui se trouve dans la base) et lorsque je sélectionne 222, il faut que ça m'affiche dans le txt "libelle 222".
    Il faut alors que je récupère tous les libellés à partir de la base dans une fonction javascript et les faire correspondre à l'élément sélectionné.

    Merci

  9. #9
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    je n'ai pas tout compris, qu'est ce qu'un "txt correspondant" ?

    Si tu récupères tes informations d'une base de données, c'est en PHP que tu dois séléctionner les valeurs affichés dans les menu-déroulant.

    Je doute que tu le fasses via AJAX ? Je me trompe ?

    Aussi, quelle est la difficulté que tu rencontres ?

  10. #10
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 137
    Points : 65
    Points
    65
    Par défaut
    Tout d'abord, je travaille avec le framework Struts et non pas php
    J'ai réussi à remplir la liste à partir de la base à l'aide de struts.
    regarde la pièce jointe:

    Je voudrais utiliser javascript pour afficher dans un champ texte:
    **** "libelle" si 9999 est sélectionné
    **** "libelle 222" si 222 est sélectionné

    Les libellés,je les récupère de la base dans une classe JAVA, comment les appeler en javascript?

    Merci
    Images attachées Images attachées  

  11. #11
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Pour vérifier une valeur et l'afficher en JS, rien de plus simple, par contre, pourquio vérifier 222 et 999 uniquement ? Cela-a-t-il une réelle signification ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function verifSelect(tonSelect){
        var value = tonSelect.options[tonSelect.selectedIndex].value;
        if(value == 222){
           document.getElementById('tonInput').value = "libelle " + value;
        }
        else if(value == 999){
           document.getElementById('tonInput').value = "libelle";
        }
        else{
           alert('Mauvaise valeur choisie');
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <select name="valeurs" id="tonSelect" onchange="verifSelect(this);">
    <option value="222">222</option>
    <option value="999">999</option>
    </select>

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Attention :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonSelect.options[tonSelect.selectedIndex].value;
    Renvoie une chaîne, or
    Tu testes sur un number...
    Il vaut mieux faire :
    Sinon, tu peux aussi mettre dans le value de tes selects le texte à afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <select name="valeurs" id="tonSelect" onchange="verifSelect(this);">
    <option value="libellé">222</option>
    <option value="libellé 999">999</option>
    </select>
    <input type="text" value="libellé" id="tonInput" />
    Puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function verifSelect(tonSelect){
        document.getElementById('tonInput').value = document.getElementById('tonSelect').options[tonSelect.selectedIndex].value;
        }
    }

  13. #13
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 137
    Points : 65
    Points
    65
    Par défaut
    Tu m'as pas comprise non plus

    9999 et 222 c'est à titre d'exemple!

    Je donne un autre exemple: dans la base, j'ai une table qui contient les codes des pays et leurs libellés. Les codes, je les récupère dans une liste déroulante et les codes correspondants je les affiche dans un champ texte dont la valeur change lorsque je sélectionne un nouvel élément de la liste.

    Par exemple, si je sélectionne le code "TAN", dans le champ texte ç affiche "TANZANIA"... Le libellé est généré d'une façon dynamique.

Discussions similaires

  1. Aide select onChange
    Par calitom dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/07/2009, 18h40
  2. probleme de html:select onchange
    Par solfegepro dans le forum Struts 1
    Réponses: 20
    Dernier message: 08/08/2007, 13h44
  3. select onChange => pb
    Par Alex35 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/02/2007, 14h43
  4. pb de rafraichir 2 select-onchange !
    Par peppena dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/05/2006, 20h09
  5. [ STRUTS ] <html:select onchange=...>
    Par Houbbba dans le forum Struts 1
    Réponses: 6
    Dernier message: 24/04/2006, 13h54

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