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 :

liste déroulante dynamique


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut liste déroulante dynamique
    Bonjour à tous

    je cherche à construire une liste déroulante par une action onclick.

    j'ai ecrit une fonction appelée par cet evenement :

    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
     
     
    function place(numActi, maxi, rest, nbrA, nbrE, typAction){
     
    document.getElementById("places"+numActi).innerHTML="";
     
    if(typAction=="ajout"){
     
    document.getElementById("places"+numActi).innerHTML+='<select name="enfant">';
    for(i=0; i<=maxi; i++ ){
    document.getElementById("places"+numActi).innerHTML+='<option value="'+i+'">'+i+'</option>';
    document.getElementById("places"+numActi).innerHTML+='</select>';
     
    }else{
    // code qui va avec (typAction!="ajout")	
    };
     
    };
    Mais le résultat dans la Div est un select vide sans options, suivi de l'énumération de chiffres de 0 à la valeur de ma variable "maxi"

    pourquoi n'ai-je pas un select avec le nombre d'options voulu ?

    Merci d'avance pour vos réponses

  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
    Un début de réponse ici
    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 éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut
    Oula, ça me fait un peu mal à la tête pour un menu déroulant

    Je pense que je vais le construire en PHP et l'appeler avec Ajax Updater...

    Merci encore de ta réponse Bovino

    Je retournerai voir ce Post le matin plutot, je suis plus réceptif

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Rhaaaaaaaaaaaaaaaaaaaa créer une liste déroulante avec innerHTML

    Exemple beaucoup plus "propre" :
    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
    40
    41
    42
    43
    44
     
    function creationListe()
    {
      var i; 
      var elSelect;
     
      //création de l'élément select
      try
      {
        // si une exception est levée, le contenu du catch est exécuté
        elSelect = document.createElement("<select name='nameListe'>"); // pour IE
      }
      catch(erreur)
      {
        // autres navigateurs
        elSelect = document.createElement("select");
        elSelect.name = "nameListe"; 
      }
     
     
      //nombre d'éléments visibles
      elSelect.size = "1";  
     
      // id de la liste
      elSelect.id = "idListe";
     
      // les options
      // syntaxe : new Option("Text","Value", "defaultSelected true / false", "selected true / false");
      var elOption = new Array(
                          new Option("Votre choix", "", false, false),
                          new Option("Option 1", "valeur1", false, false),
                          new Option("Option 2", "valeur2", false, false),
                          new Option("Option 3", "valeur3", false, false),
                          new Option("Option 4", "valeur4", false, false)
                                );
      //Ajout du select dans le div
      document.getElementById("cible").appendChild(elSelect);	 
     
      //Ajout dans le select des options
      for (i=0;i<elOption.length;i++)			
      {
          elSelect.options.add(elOption[i]);
      }
    }
    Pour le try cach() dans le code, voir cette discussion.

    On ajoute d'abord le select dans le div puis les options dans le select.

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

Discussions similaires

  1. récupérer la valeur d'une liste déroulante dynamique
    Par grinder59 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 23/01/2006, 17h51
  2. Liste déroulante dynamique
    Par Screw16 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/10/2005, 20h37
  3. [HTML] liste déroulante dynamique
    Par lacousinee dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/08/2005, 20h51
  4. Liste déroulante dynamique ?
    Par Regis.C dans le forum Composants
    Réponses: 5
    Dernier message: 29/06/2005, 12h09
  5. [FORMULAIRE] Liste déroulante dynamique
    Par bchristo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/01/2005, 10h07

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