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 :

R�cup�rer valeur de plusieurs select


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre habitu�
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 8
    Par d�faut R�cup�rer valeur de plusieurs select
    Bonjour,

    j'ai le code HTML suivant (dans une jsp).
    J'ai plusieurs select d'indicateurs que je remplie en parcourant une HashMap
    ensuite je voudrais pouvoir r�cup�rer pour afficher dans une autre liste les indicateurs s�lectionner dans chaque select

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <p id="listesM">
     
    <%while (it.hasNext()) { 
            Map.Entry <String, ArrayList<String> > pairs = (Entry<String, ArrayList<String>>) it.next(); %> 
    	<select id="listeIndicateurs" name="listeIndicateurs" size="3"multiple="multiple">
    		<option style="color:red;"> Machine<%=pairs.getKey()%>  </option>
    		<% ArrayList <String> indic = pairs.getValue();
                            for(int j=0;j<indic.size();j++){
                                    %>
    				<option> <%=indic.get(j)%> </option>
    				<%} %>
    	</select>
    <% } %>
    </p>
    <button type="button" onclick="JavaScript: ajouter()">Ajouter</button>

    j'ai le script suivant qui ne fonctionne pas

    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
    <script type="text/javascript">
     
    function ajouter(){
    	var nomMachine = "";
    	var nomIndic="";
    	var liste1 = document.getElementById('listeM');
    	var liste3=document.getElementById('liste');
     
    	for(j=1;j<liste1.length;j++){
    		if(liste1.options[j].selected == true){
    			nomMachine=liste1.options[0];
    			nomIndic=liste1.options[j];
    			var nouveauText=nomMachine+"+"+nomIndic; 
    			nouvelIndic = new Option(nouveauText,nouveauText,false,false);
    			liste3.options[liste3.length] = nouvelIndic;
    		}
    	}
    }
    En esp�rant avoir �t� claire, 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 : 55
    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
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    for(j=1;j<liste1.length;j++)
    liste1 correspond � une balise p, il n'a donc pas de length et encore moins de options.

    Au passage, merci de poster le code HTML g�n�r�, pas le code serveur !
    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 habitu�
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 8
    Par d�faut
    voila le code g�n�r�

    Code html : 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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <p id="listesM"> 
     
    			<select id="listeIndicateurs" name="listeIndicateurs" size="3"multiple="multiple"> 
    				<option style="color:red;"> Machine1  </option> 
     
    				<option> indic9 </option> 
     
    				<option> indic6 </option> 
     
    				<option> indic3 </option> 
     
    				<option> indic1 </option> 
     
    				<option> indic92 </option> 
     
    				<option> DISKWRITE </option> 
     
    			</select>			
     
    			<select id="listeIndicateurs" name="listeIndicateurs" size="3"multiple="multiple"> 
    				<option style="color:red;"> Machine2  </option> 
     
    				<option> indic9 </option>
     
    				<option> indic7 </option> 
     
    				<option> indic8 </option> 
     
    				<option> indic2 </option> 
     
    				<option> indic5 </option> 
     
    			</select>			
     
    			<select id="listeIndicateurs" name="listeIndicateurs" size="3"multiple="multiple"> 
    				<option style="color:red;"> Machine3  </option> 
     
    				<option> indic1 </option> 
     
    				<option> indic5 </option> 
     
    				<option> indic3 </option> 
     
    				<option> indic7 </option> 
     
    			</select>			
     
    			<select id="listeIndicateurs" name="listeIndicateurs" size="3"multiple="multiple"> 
    				<option style="color:red;"> Machine4  </option> 
     
    				<option> indic1 </option> 
     
    				<option> indic2 </option> 
     
    				<option> indic3 </option> 	
     
    			</select>			
     
    		</p>

    Il faudrait pouvoir faire une boucle sur l'ensemble des select mais je ne vois pas comment faire.

  4. #4
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par d�faut
    Essaye avec cette fonction :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.getElementsByTagName("SELECT");

  5. #5
    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
    Bonsoir,

    1- Un id doit �tre unique dans un document
    2- Tes options n'ont pas de value.

    A+.

  6. #6
    Membre habitu�
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 8
    Par d�faut
    Merci � tous j'ai r�ussi � faire ce que je voulais

    J'ai fait en sorte d'avoir des id diff�rents.
    Pour chaque select j'ai un paragraphe ayant le m�me nom que l'id du select
    ainsi gr�ce � elementByTagName j'ai pu r�cup�rer les noms des paragraphes qui correspondent �galement aux id.

    voil� le code javascript au cas o�

    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
    function ajouter(){
    	var nomMachine ;
    	var nomIndi;
    	var liste3=document.getElementById("liste");
     
    	var arrP = new Array();
     
            arrP = document.getElementsByTagName( "p" );
     
            for(var i=1; i < arrP.length; i++){
     
               var tagObj = document.getElementsByTagName( "p" ).item(i);
     
              list = document.getElementById(tagObj.innerHTML);
     
              for(z=0;z<list.length;z++){
            	nomMachine=tagObj.innerHTML;
            	if(list.options[z].selected == true){		
    					nomIndic=list.options[z].innerHTML;
    					var nouveauText=nomMachine+"+"+nomIndic; 
    					nouvelIndic = new Option(nouveauText,nouveauText,false,false);
    					liste3.options[liste3.length] = nouvelIndic;
    			}
            	list.options[z].selected = false;
            }
     
        }

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [PHP 5.0] R�cup�rer valeurs de plusieurs SELECT g�n�r�
    Par RobertP dans le forum Langage
    R�ponses: 8
    Dernier message: 09/11/2011, 21h37
  2. r�cup�rer valeur d'un select et le passer � une autre page
    Par identifiant_bidon dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 21/01/2008, 17h48
  3. R�cup�rer valeur d'un select multiple
    Par christgh dans le forum Langage
    R�ponses: 3
    Dernier message: 01/08/2007, 14h53
  4. R�cup�rer valeurs de plusieurs combobox
    Par NicoO_O dans le forum Servlets/JSP
    R�ponses: 2
    Dernier message: 04/05/2007, 15h52
  5. R�cup�rer valeur d'un select
    Par nicoaix dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 04/01/2006, 14h21

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