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 :

Problème de liste déroulante et js...


Sujet :

JavaScript

  1. #1
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut Problème de liste déroulante et js...
    Salut, j'aimerais créer une liste déroulante en js... Pour l'instant, ça fonctionne mais c'est pas "propre"... Quelqu'un sait-il m'aider???
    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
    <script>
    	function getUnitPerDirectorate(id){
    		<cfoutput>
     
    			var inputHtml = "<select name='unit'>";
     
    			<cfloop query="getUnit">
    			    if(id.value == 0) {
    					var dir = id.value;			
    				}else{
    					var dir = #UNIT_N_UNIT_ID#;	
    				}
    				if(id.value == dir){
    					inputHtml = inputHtml + "<option value=#N_UNIT_ID#>#S_NAME#";					
    				}
    			</cfloop>
    			inputHtml = inputHtml + "<option value=0 selected>All";
     
    			inputHtml = inputHtml + "</select>";
     
    	 		document.getElementById("test").innerHTML = inputHtml;
     
    		</cfoutput>
    	}
    </script>
    Et dans l'html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    					<div id="test">
    						<select name="unit">
    							<cfloop query="getUnit">
    								<option value="#N_UNIT_ID#">#S_NAME#
    							</cfloop>
    								<option value = "0" selected>All
    						</select></div>
    Ce qui me gêne, c'est l'emploi de la balise div... Serait-il possible de s'en passer??? D'envoyer directement les valeurs dans le champ adéquat sans passer par le div??? Mon menu se trouve dans un formulaire...
    Pourquoi vouloir ré-inventer la roue...
    ...Surtout si c'est pour la faire carrée...

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    c'est quoi ces balises curieuses dans ton script ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    Les balise cf, je presume... En fait, je suis sous coldfusion... Mais ça ne change strictement rien au html et js... Le "inputHtml" contient le contenu de ma liste, et en l'envoyant dans le div, ça fonctionne nickel... Mon problème est que le div est jugé "pas propre" par mon chef... Je me demandais donc si il n'est pas possible de tout injecter dans le formulaire directement... Genre "formulaire.menu_déroulant.option" = inputHtml...
    Pourquoi vouloir ré-inventer la roue...
    ...Surtout si c'est pour la faire carrée...

  4. #4
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    mets l'id dans le select!

  5. #5
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    J'ai essayé de mettre l'id dans le select mais ça donne rien... J'ai aussi essayé de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("nom_formulaire.nom_champ").innerHTML = inputHtml;
    mais ça non plus, ça ne fonctionne pas...
    Pourquoi vouloir ré-inventer la roue...
    ...Surtout si c'est pour la faire carrée...

  6. #6
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut Re: Problème de liste déroulante et js...
    au pif
    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
     
    <script>
    function getUnitPerDirectorate(id){
    <cfoutput>
    listeSlt=document.getElementById("unit")
    listeSlt.options.length=0;
     
     
    <cfloop query="getUnit">
     
    if(id.value == "0" || id.value=="#UNIT_N_UNIT_ID#" )
    {
    op= new Option(#N_UNIT_ID#,"#S_NAME#");	
    listeSlt.options[listeSlt.options.length]=op;	
    }
    </cfloop>
    op= new Option("0","All");		
    listeSlt.options[listeSlt.options.length]=op;
     
    </cfoutput>
    	}
    </script>
    Et dans l'html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <select name="unit" id="unit">
    							<cfloop query="getUnit">
    								<option value="#N_UNIT_ID#">#S_NAME#
    							</cfloop>
    								<option value = "0" selected>All
    						</select>

Discussions similaires

  1. problème de liste déroulante
    Par Raphaëlle dans le forum Access
    Réponses: 7
    Dernier message: 22/06/2006, 14h38
  2. Problème avec listes déroulantes
    Par dl_jarod dans le forum Langage
    Réponses: 9
    Dernier message: 07/06/2006, 10h13
  3. [MySQL] Problème de liste déroulante dynamique
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 03/03/2006, 16h38
  4. [MySQL] Problème de listes déroulantes liées avec requêtes sql
    Par richton95 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/12/2005, 16h04
  5. Problème avec liste déroulante
    Par Invité dans le forum IHM
    Réponses: 2
    Dernier message: 14/12/2005, 21h04

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