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

AJAX Discussion :

[AJAX] Récupérer option select


Sujet :

AJAX

  1. #1
    Membre actif Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Points : 265
    Points
    265
    Par défaut [AJAX] Récupérer option select
    Bonjour,

    Avant de poster j'ai consulté la FAQ. J'ai appliqué proprement la réponse à la question : "Comment récupérer la valeur d'un select ? " mais mon code me retourne toujours la valeur du select qui s'affiche à l'écran, pas la valeur de l'option. Je cherche à récupérer dans option ce qui se trouve après la virgule.

    Voici le 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
    <select id="liste_sous_activite" name="liste_sous_activite" multiple onchange="liste2()">
    		<option value=-1>-- Choisissez -- </option> 
    		<option style='background:',PREP_ETA>Préparation étagère</option>
    		<option style='background:',PREP_MPD>Préparation MPD</option>
    		<option style='background:',ANIM_EQUIPE>Animation Equipe</option>
    		<option style='background:',COLISAGE>Colisage</option>
     
    		<option style='background:',PREP_VRAC>Préparation VRAC</option>
    		<option style='background:',TRI>Tri Colis</option>
    		<option style='background:',REAPPRO>Réapprovisionnement</option>
    		<option style='background:',NETTOYAGE>Nettoyage</option>
    		<option style='background:',CONTROLE>Contrôle</option>
    		<option style='background:',REUNION>Réunion</option>
    		<option style='background:',HIS>Heure d'Information Syndicale</option>
    </select>
    et le Javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var str = document.getElementById('liste_sous_activite').options[document.getElementById('liste_sous_activite').selectedIndex].value;
    var a = str.split(',');
    var sous_activite = a[1];

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par arthuro45 Voir le message
    Je cherche à récupérer dans option ce qui se trouve après la virgule.
    il suffit de le définir comme value de l'option
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="PREP_ETA">Préparation étagère</option>
    Sauf que comme il s'agit d'un select multiple, pour récupérer toutes les lignes sélectionnées, il faut que tu boucles sur les options pour récupérer toutes celles dont le selected est à true ...

    A+

  3. #3
    Membre actif Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Points : 265
    Points
    265
    Par défaut
    Merci

    Si tu es toujours disponible, peux-tu m'aider pour la boucle ?

    J'ai voulu m'aider du bout de code de la FAQ JS, mais je ne dois pas savoir l'adapter :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    function validation()
    {
    var xmlHttp = xhr();
    var reponse3 = document.getElementById('reponse3');
    var str = document.getElementById('liste_sous_activite').options[document.getElementById('liste_sous_activite').selectedIndex].value;
    var a = str.split(',');
    var sous_activite = a[1];
    var couleur = document.getElementById('hexval').value;
    var btn_valider = document.getElementById('valider').value;
     
    var selectedList = new Array();
    var selectBox = document.forms[0].monSelect;
    for (var i=0; i<selectBox.options.length; i++) {
      if (selectBox.options[i].selected) {
        selectedList.push(selectBox.options[i]);
      }
    }
    var alertTxt = "";
    for (opt in selectedList) {
    alertTxt += "L'option "+opt.value+" est selectionnée \n";
    }
    alert(alertTxt);
     
    if(btn_valider != "") {
    var url = "./parametre/ajax/validation.php?";
    var data = "param="+sous_activite; 
    var data2 = ","+couleur;
    url +=data+data2;
    xmlHttp.open("get",url,true);
    xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4 && xmlHttp.status==200) 
    {
    reponse3.innerHTML = xmlHttp.responseText;
    	}
    }
    xmlHttp.send(null);
    	}
    }

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Il ne doit pas manquer grand chose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    selectedList.push(selectBox.options[i].value);
    Est-ce suffisant ?

    A+

  5. #5
    Membre actif Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Points : 265
    Points
    265
    Par défaut
    Non ça ne suffit pas, j'ai une erreur (Erreur*: selectBox is undefined) mais je ne dois pas savoir appeler mon select correctement je pense.

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    function validation()
    {
    var xmlHttp = xhr();
    var reponse3 = document.getElementById('reponse3');
    var str = document.getElementById('liste_sous_activite').options[document.getElementById('liste_sous_activite').selectedIndex].value;
    var a = str.split(',');
    var sous_activite = a[1];
    var couleur = document.getElementById('hexval').value;
    var btn_valider = document.getElementById('valider').value;
     
    var selectedList = new Array();
    var selectBox = document.forms[0].liste_sous_activite;
    for (var i=0; i<selectBox.options.length; i++) {
      if (selectBox.options[i].selected) {
        selectedList.push(selectBox.options[i].value);
      }
    }
    var alertTxt = "";
    for (opt in selectedList) {
    alertTxt += "L'option "+opt.value+" est selectionnée \n";
    }
    alert(alertTxt);
     
    if(btn_valider != "") {
    var url = "./parametre/ajax/validation.php?";
    var data = "param="+sous_activite; 
    var data2 = ","+couleur;
    url +=data+data2;
    xmlHttp.open("get",url,true);
    xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4 && xmlHttp.status==200) 
    {
    reponse3.innerHTML = xmlHttp.responseText;
    	}
    }
    xmlHttp.send(null);
    	}
    }

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var selectBox = document.getElementById('liste_sous_activite');
    ??

    A+

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

Discussions similaires

  1. Récupérer le contenu d'un option selected
    Par Llyudy dans le forum jQuery
    Réponses: 5
    Dernier message: 10/02/2017, 13h23
  2. Récupérer valeur select en javascript ajax
    Par zen'it dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 20/06/2016, 09h58
  3. Récupérer la value d'un option (select)
    Par Erwan31 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 07/04/2009, 15h57
  4. [AJAX] Récupérer 2 variables sur 2 listes select
    Par elcoyotos dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 18/06/2008, 15h30
  5. Réponses: 8
    Dernier message: 05/05/2004, 16h28

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