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 qui s'incrémente


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 26
    Points : 16
    Points
    16
    Par défaut Liste déroulante qui s'incrémente
    Bonjour à tous,
    J'aimerai créer une liste déroulante qui s'incrémente de 1 à chaque clique sur un bouton.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <select><option>1 <option>2 <option selected>3</select><!-- avant le clique -->
     
    <select><option>1 <option>2 <option>3 <option selected>4</select><!-- après le clique -->
    Avec une infintée d'incrémentation possible, et en gardant à chaque clique les anciennes valeurs dans la liste.

    Voilà mon code au stade actuel :
    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
    	jQuery('img#bt_ajout').click(function() { 											/*Function Clique sur bouton ajout dont l'ID(#) est bt_ajout*/
     
    			var currentNumberQuest = jQuery('input#currentNumberQuest').val();			/*déclaration d'une variable currentNumberQuest à laquelle on attribue la valeure de l'ID #currentNumberQuest*/
     
    			currentNumberQuest++;		
    			var cpt = jQuery('input#cpt').val();		
    			cpt++;																		/*incrémentation de la var*/
     
    			$('#cpt').val(cpt);	
    			$('#currentNumberQuest').val(currentNumberQuest);							/*On donne à l'ID currentNumberQuest la valeure de la variable*/
     
    			alert(cpt);
     
    			/*en dessous on déclare une variable nveau bloc*/
     
    			var newLine = "<div id='qst_"+currentNumberQuest+"'><table width=\"100%\"><input type='hidden' id=''> <tr id=\"ligne_separe"+currentNumberQuest+"\" style=\"background-color:#cccccc;\"\"><td></td><td></td><td></td><td></td></tr><tr id=\"blocQuestion"+currentNumberQuest+"\"><td style=\"width:20%;\">Qestion n°"+currentNumberQuest+" : </td><td colspan=\"2\" style=\"width:35%;\" ><input size=\"65\" type=\"text\" name=\"question"+currentNumberQuest+"\" id=\"\" value=\"\" ></td><td style=\"width:45%;\">";
    			newLine += "<img style=\"cursor:pointer;\"  src=\"<?php echo $sf_request->getRelativeUrlRoot() ?>/images/suppr.jpg\" onclick=\"deleteRow("+currentNumberQuest+")\" /></td></tr>";
    			newLine += "<tr id=\"blocIndice"+currentNumberQuest+"\"><td >Indice : </td><td colspan=\"2\"><input class=\"inputTextIndice\" name=\"indice"+currentNumberQuest+"\" size=\"65\" type=\"text\" value=\"http://\"></td><td></td></tr>";
    			newLine +=	"<tr id=\"blocRang"+currentNumberQuest+"\"><td>type : </td><td><SELECT style=\"width:220px;\" class=\"selectType\" onChange=\"blocreponse("+currentNumberQuest+")\" id=\"ldselect"+currentNumberQuest+"\" NAME=\"ListeType"+currentNumberQuest+"\" SIZE=1 \"><OPTION select=\"selected\" value=\"0\">Sélectionnez un type<OPTION value=\"1\">Choix unique <OPTION value=\"2\">Choix multiple <OPTION value=\"3\">Texte libre</SELECT>";
    			newLine += "</FORM></td><td align=\"right\"> Rang :<SELECT style=\"width:120px;\" id='ldrang' name=\"rang"+currentNumberQuest+"\" size=\"1\"><OPTION>1<OPTION selected>"+cpt+"</SELECT></td><td></td></tr></div>";
     
    			jQuery('div#bloc_qr').append(newLine); 										/*Que lon affiche apres l'élément ki a pr iD #bloc_qr*/
     
    																						// ajout d'évènement sur les éléments générés

  2. #2
    Expert confirmé
    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
    Points : 4 842
    Points
    4 842
    Par défaut
    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
    <script type="text/javascript"> var i = 1;
      function increment() {
        var elem = document.getElementById("increment");
        i++;
        var monOption = document.createElement("option");
        var valeur = document.createTextNode(i);
        monOption.setAttribute("value", i);
        monOption.appendChild(valeur);
        elem.appendChild(monOption);
      }
    </script>
    <select id="increment">
      <option>1</option>
    </select>
    <input type="button" onclick="increment();" value="Incrémenter"/>

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Le truc c'est que je travaille avec des class, et non des ID pour le select(vu que je répète cette liste Déroulante à chaque clique).

    L'incrémentation fonctionne bien mais je me retrouve avec le même problème lorsque j'ajoute plusieurs autre liste déroulante. (problème: Seul le 1er Select affiche le bon nombre d'option), à chaque clique ça doit ajouter un nouvel option dans toutes les listes déroulantes.

    Je vais chercher ça cette après midi, je posterai mon résultats dans l'aprem. Merci quand même .

  4. #4
    Expert confirmé
    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
    Points : 4 842
    Points
    4 842
    Par défaut
    Il suffit de récupérer l'ensemble de tes select... (au pire tu testes par la suite que la class est celle que tu veux)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName("SELECT");

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/07/2009, 21h41
  2. Réponses: 2
    Dernier message: 05/10/2006, 08h24
  3. [PHP-JS] liste déroulante qui déclecnhe une action.
    Par mikebranque dans le forum Langage
    Réponses: 3
    Dernier message: 05/06/2006, 17h43
  4. Liste déroulante qui contrôle un sous-formulaire
    Par Krowser dans le forum Access
    Réponses: 1
    Dernier message: 02/06/2006, 10h56
  5. Liste déroulante qui ne fonctionne pas -_-'
    Par Shekhmet dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2006, 12h12

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