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 :

Ajouter un select si celui d'au dessus est rempli


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut Ajouter un select si celui d'au dessus est rempli
    Bonjour à tous !


    Etant novice en JS, je me permet de poster un message d'aide.

    Je dois développer une petite appli web qui me permet de gérer un rapport.

    On doit pouvoir ajouter le matériel que l'on utilise. Et le nombre varie à chaque rapport. Cela peut-être 2 comme 10 matériel...

    Du coup, j'aimerais créer un select qui répertorie tous les accessoires. Et dès que l'on rempli ce select, on en a un autre qui apparait... Jusqu'à tant qu'on laisse la dernière vide...

    Et puis, aussi, faudrait un nom genre "materiel[x]" que je puisse facilement le récupérer.

    Pourriez-vous m'aider ?

    Merci d'avance !

  2. #2
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Pour une appli de gestion, tu dois utiliser une base de données, je te conseille de lire ce tutoriel. Tu trouveras comment ajouter les options dans la base et les récupérer pour l'affichage du select.

    Mais pour l'ajout d'un option dans un select avec JS, tu peux le voir sur la FAQ.

    A+.

  3. #3
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut
    Ouais je connais le PHP.

    J'aurais voulu faire un truc dans le genre :

    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
    <script>
    function create_champ(i) {
     
    var i2 = i + 1;
     
    document.getElementById('leschamps_'+i).innerHTML = '<select name="select_missions_'+i+'">
    <?php
                    $reponse = $bdd->query("SELECT text FROM missions ORDER BY id");
                    while ($donnees = $reponse->fetch())
                    {
                    ?>
    		<option value="<?php echo utf8_encode($donnees[0]); ?>"><?php echo utf8_encode($donnees[0]); ?></option>
    		<?php
                    }
                    $reponse->closeCursor();
                    ?>
     
    		</select></span>';
    document.getElementById('leschamps_'+i).innerHTML += (i <= 10) ? '<br /><span id="leschamps_'+i2+'"><a href="javascript:create_champ('+i2+')">Ajouter un champs</a></span>' : '';
    }
    </script>
    Mais cela ne marche pas, quelqu'un peut m'aider ^^'
    Merci d'avance !

  4. #4
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Re,
    Attention, JAVASCRIPT est exécuté du coté Client et PHP est exécuté du coté serveur. Avec ton code, lors de la génération de la page, ton fichier php génère la partie de ton code JAVASCRIPT pour les options du select que tu veux créer. Apparemment, tu veux dupliquer le select plusieurs fois, regarde la fonction cloneNode de javascript qui est plus adéquate à ton besoin si c'est le cas.

    A+.

  5. #5
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut
    Bonjour,

    Aurais-tu un lien pour me montrer ce que ça donne, je n'en trouve pas qui simule ce que j'aimerais...

    Merci d'avance !

  6. #6
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Re,
    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
    <html>
    	<head>
    		<script type="text/javascript">
                            function copier(){
                                    var choix = document.getElementById("choix").cloneNode(true);
                                    document.getElementById("mesSelect").appendChild(choix);
                            }
                    </script>
    	</head>
    	<body>
    		<div id="mesSelect">
    			<select name="choix[]" id="choix">
    				<option value="1">1</option>
    				<option value="2">2</option>
    				<option value="3">3</option>
    			</select>
    		</div>
    		<input type="button" onclick="copier()" value="Ajouter"/>
    	</body>
    </html>

  7. #7
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut
    Ok ça marche niquel maintenant !!

    Mais encore deux petites aides !

    Comment nommer à chaque fois mes select genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "select_1"
    si on clique sur ajouter, cloner select_1 et le nommer en select_2
    si on clique sur ajouter, cloner select_1 (ou 2...) et le nommer en select_3


    Et deuxième question, puis-je modifier cette fonction pour qu'elle soit utilisable avec plusieurs select différents ?


    Merci d'avance !

Discussions similaires

  1. Ajouter un select si celui d'au dessus est rempli
    Par Nowwis dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 14/06/2010, 17h50
  2. Ajouter ma selection dans un sous formulaire
    Par Chikatilo dans le forum IHM
    Réponses: 3
    Dernier message: 15/04/2009, 11h49
  3. Ajouter à un select
    Par ctrl+z dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/08/2008, 14h16
  4. [Débutant] Tableau : ajout cellule + select
    Par Badaboumpanpan dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/12/2006, 09h51
  5. ajouter valeur select dans textarea
    Par zulot dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/07/2006, 15h10

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