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 Options récuperer le text avec la value


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 77
    Par défaut Select Options récuperer le text avec la value
    Bonjour,

    Après avoir lu les cours javascript sur les select j'essai de :

    trouver le texte de l'option en connaissant sa valeur.

    J'ai un select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <select name="select">
            <option select>Sélectionner un langage</option>
            <option value="1">Javascript</option>
            <option value="2">Phtml</option>
            <option value="3">Ajax</option>
            <option value="4">Jquery</option>
    </select>
    et une script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function connaitre_text(value) {
    select = document.getElementByName('select');
    text = select.options[select.option[value]].text; 
    }
    Par exemple si je lance la fonction connaitre_text(2), la variable text sera égale à Phtml

    Quelqu'un pourrais m'aider à trouve ce qu'il faut mettre pou que la vaiable text récupère le bon texte du select.

    Merci d'avance

  2. #2
    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
    Billets dans le blog
    20
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select = document.getElementByName('select');
    Tout d'abord, donner comme name "select" à un élément select et l'affecter à une variable "select", c'est pas terrible... surtout sans utiliser le mot clé var (voir la FAQ à ce sujet)
    Ensuite, getElementByName n'existe pas, c'est getElementsByName qui renvoie une collection, tu ne peux donc récupérer un élément qu'en précisant le rang de celui que tu cherches.
    Une meilleure solution serait de passer par un id :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <select id="mon_choix">
            <option selected="selected">Sélectionner un langage</option>
            <option value="1">Javascript</option>
            <option value="2">Phtml</option>
            <option value="3">Ajax</option>
            <option value="4">Jquery</option>
    </select>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function connaitre_text(value) {
        var choix = document.getElementById('mon_choix');
        le_text = choix.options[choix.options[value]].text; 
    }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function connaitre_text(value) {
        var choix = document.getElementById('mon_choix');
        le_text = choix.options[choix.options[value]].text; 
    }
    Ca ne va pas, on est obligé de passer par une boucle... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function connaitre_text(value) {
        var choix = document.getElementById('mon_choix');
        var le_texte = null;
        for(var i=0,size=choix.options.length;i<size;i++) {
          if(choix.options[i].value == value) {
           le_texte = choix.options[i].text;
          }
        }
    }

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 77
    Par défaut
    Merci bovino pour les conseils, j'ai appris sur le tas donc je fais assez souvent des erreurs et le temps de débugage est plus long.

    gwyohm : Merci beaucoup sa marche très bien.

  5. #5
    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
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par gwyohm Voir le message
    Ca ne va pas, on est obligé de passer par une boucle...
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <select id="mon_choix" onchange="connaitre_text(this.selectedIndex)">
            <option selected="selected">Sélectionner un langage</option>
            <option value="1">Javascript</option>
            <option value="2">Phtml</option>
            <option value="3">Ajax</option>
            <option value="4">Jquery</option>
    </select>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function connaitre_text(value) {
        var choix = document.getElementById('mon_choix');
        le_text = choix.options[value].text; 
    }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

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

Discussions similaires

  1. select sur un champs texte avec traitement du texte
    Par nicerico dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/04/2009, 07h57
  2. Top 3 dans select/option avec removeChild
    Par artxtra dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/05/2007, 19h56
  3. Réponses: 3
    Dernier message: 21/03/2007, 09h45
  4. Réponses: 2
    Dernier message: 20/06/2006, 09h15
  5. [Struts]Select, options & value ...
    Par djoukit dans le forum Struts 1
    Réponses: 4
    Dernier message: 01/07/2004, 10h40

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