Partage
  • Partager sur Facebook
  • Partager sur Twitter

supprimer une option sélectionnée en javascri

    25 décembre 2009 à 0:01:59

    j'ai créer une liste déroulante avec javascript, cette liste contient des noms qui sont enregistrées dans ma base de données.
    j'ai réussi à créer cette liste. Mon problème c'est que je veut que lorsque je clique une option(un nom de liste) une autre liste s'affiche qui ne contient pas l'option sélectionnée???
    et voilà mon code:

    <html>
    <body>
    <?php
    $i = mysql_connect ('localhost', 'login', '');
    
    mysql_select_db('monDB',$i);
    
    
    
    
    ?>
    </br>
    <script type="text/javascript">
    
    <!--
    
    function addDonnee(idChamp) {
    
    try {
    
    
    
    var conteneur = document.getElementById(idChamp);
    
    
    
    var ligne = document.createElement('p');
    
    
    
    var selection = document.createElement('select');
    
    selection.setAttribute('id','selected');
    <?
    
    $result=mysql_query("SELECT nom_emp FROM employé ");
    
    $nb=mysql_num_rows($result);
    
    for ($j=0;$j<$nb;$j++)
    
    {
    $t=mysql_fetch_row($result);
    ?>
    
    var element = document.createElement("option");
    
    element.setAttribute('value','valeur');
    
    
    var text = document.createTextNode('<? echo ($t[0]); ?>');
    
    
    
    
    
    
    //pour IE6
    
    //selection.add(element);
    
    //pour FF
    element.appendChild(text);
    
    selection.appendChild(element);
    
    
    ligne.appendChild(selection);
    
    
    conteneur.appendChild(ligne);
    
    
    <?
    }
    
    ?>
    for (var i=0 ; i<document.formulaire.liste.options.length ; i++)
    {
    if (element.selected == true)
    {
    selection.removeChild(this.element);
    }
    }
    
    
    
    }
    
    
    
    
    
    catch(e) {
    
    alert(e);
    
    
    
    }
    
    
    }
    
    
    //-->
    </script>
    
    <?
    
    //}
    
    
    ?>
    <?
    
    $result1=mysql_query("SELECT nom_emp FROM employé ");
    
    $nb1=mysql_num_rows($result1);
    
    
    for ($m=0;$m<$nb1;$m++)
    
    {
    $tt=mysql_fetch_row($result1);
    ?>
    </br>
    <form name="formulaire" id="form1"><p> sélectionner un nom </p>
    </br>
    <div id="champs_sup" >
    </br>
    <select name="liste" > <!--onChange="MM_jumpMenu('parent',this,3)" -->
    
    </br>
    </br>
    <?
    
    $result1=mysql_query("SELECT nom_emp FROM employé ");
    
    $nb1=mysql_num_rows($result1);
    
    
    for ($m=0;$m<$nb1;$m++)
    
    {
    
    $ttt=mysql_fetch_row($result1);
    
    ?>
    
    <option value="" onClick="addDonnee('champs_sup')" > <? echo ($ttt[0]) ?> </option>
    
    </br>
    </br>
    
    
    
    
    <?
    
    }
    
    
    ?>
    
    </div>
    </select>
    </form>
    
    
    <?
    
    }
    
    ?>
    
    
    
    
    </body>
    </html>
    


    lorsque je clique sur un nom de la liste une autre liste s'affiche mais le nom sélectionné dans la première liste existe encore dans la deuxième liste qui s'affiche !!!!!???????
    • Partager sur Facebook
    • Partager sur Twitter
      25 décembre 2009 à 0:08:16

      Ton code ne donne pas envie d'être lu, tu devrais revoir l'indentation.

      Sinon il faut faire :
      tonSelect.removeChild(tonOption);
      
      • Partager sur Facebook
      • Partager sur Twitter
        25 décembre 2009 à 0:34:10

        je vient d'obtenir une liste des noms, je veut que lorsque je sélectionné un nom,une autre liste s'affiche et elle ne contient pas le nom sélectionné dans la première liste.
        c'est en bref mon problème;)
        • Partager sur Facebook
        • Partager sur Twitter
          25 décembre 2009 à 20:40:46

          Citation : Tiller

          il faut faire :

          tonSelect.removeChild(tonOption);
          
          • Partager sur Facebook
          • Partager sur Twitter
            26 décembre 2009 à 17:55:30

            j'ai essayé de faire ça, mais ça ne donne rien!
            j'ai le même problème!
            • Partager sur Facebook
            • Partager sur Twitter
              26 décembre 2009 à 20:26:18

              C'est que t'as mal essayé, montre ton code
              • Partager sur Facebook
              • Partager sur Twitter
                27 décembre 2009 à 1:51:41

                Voilà mon code :
                <html>
                <body>
                <?php
                $i = mysql_connect ('localhost', 'login', '');
                
                mysql_select_db('monDB',$i);
                
                
                
                
                ?>
                </br>
                <script type="text/javascript">
                
                <!--
                
                function addDonnee(idChamp) {
                
                try {
                
                
                
                var conteneur = document.getElementById(idChamp);
                
                
                
                var ligne = document.createElement('p');
                
                
                
                var selection = document.createElement('select');
                
                selection.setAttribute('id','selected');
                <?
                
                $result=mysql_query("SELECT nom_emp FROM employé ");
                
                $nb=mysql_num_rows($result);
                
                for ($j=0;$j<$nb;$j++)
                
                {
                $t=mysql_fetch_row($result);
                ?>
                
                var element = document.createElement("option");
                
                element.setAttribute('value','valeur');
                
                
                var text = document.createTextNode('<? echo ($t[0]); ?>');
                
                
                
                
                
                
                //pour IE6
                
                //selection.add(element);
                
                //pour FF
                element.appendChild(text);
                
                selection.appendChild(element);
                
                
                ligne.appendChild(selection);
                
                
                conteneur.appendChild(ligne);
                
                
                <?
                }
                
                ?>
                
                selection.removeChild(element);
                
                
                
                
                }
                
                
                catch(e) {
                
                    alert(e);
                
                    }
                
                
                }
                
                
                //-->
                </script>
                
                <?
                
                //}
                
                
                ?>
                <?
                
                $result1=mysql_query("SELECT nom_emp FROM employé ");
                
                $nb1=mysql_num_rows($result1);
                
                
                for ($m=0;$m<$nb1;$m++)
                
                {
                $tt=mysql_fetch_row($result1);
                ?>
                </br>
                <form name="formulaire" id="form1"><p> sélectionner un nom </p>
                </br>
                <div id="champs_sup" >
                </br>
                <select name="liste" > <!--onChange="MM_jumpMenu('parent',this,3)" -->
                
                </br>
                </br>
                <?
                
                $result1=mysql_query("SELECT nom_emp FROM employé ");
                
                $nb1=mysql_num_rows($result1);
                
                
                for ($m=0;$m<$nb1;$m++)
                
                {
                
                $ttt=mysql_fetch_row($result1);
                
                ?>
                
                <option value="" onClick="addDonnee('champs_sup')" > <? echo ($ttt[0]) ?> </option>
                
                </br>
                </br>
                
                
                
                
                <?
                
                }
                
                
                ?>
                
                </div>
                </select>
                </form>
                
                
                <?
                
                }
                
                ?>
                
                
                
                
                </body>
                </html>
                
                • Partager sur Facebook
                • Partager sur Twitter
                  27 décembre 2009 à 1:52:42

                  Sans le php merci.

                  CTRL + U sur ta page, ou affichage > code source
                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 décembre 2009 à 1:57:14

                    j'ai fait ça! mais j'ai pas compris pourquoi vous avez me demandé de faire ça????
                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 décembre 2009 à 14:03:58

                      Tiller te demande le code HTML généré, car le PHP, en JavaScript, ça sert à rien et ça rend le code moins lisible.

                      Donc fais Ctrl+U ou Clic Droit -> Afficher la source et donne le code HTML généré.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 décembre 2009 à 18:45:36

                        voilà le code sans php
                        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                        <html xmlns="http://www.w3.org/1999/xhtml">
                        <head>
                        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                        <title>Choix des filières</title>
                        
                        
                        </head>
                        
                        <body>
                        
                        <script  type="text/javascript">
                        
                        
                        function supprime ()
                        { var s = document.ElementByTd("champs_sup");
                        
                        for (var n=s.length-1; n>=0 ; n--)
                        {
                         if (s.options[n].selected)
                         
                          {
                             s.remove(n);
                          }
                        }
                        </script>
                             </br>
                         <script type="text/javascript">
                        
                        <!--
                        
                        function addDonnee(idChamp) {
                        
                           try {
                        
                           
                        
                              var conteneur = document.getElementById(idChamp);
                        
                                 
                        
                              var ligne = document.createElement('p');
                        
                                 
                        
                                  var selection = document.createElement('select');
                        
                                  selection.setAttribute('id','selected');
                        		     
                        
                                  var element = document.createElement("option");
                        
                                  element.setAttribute('value','valeur');  
                        		  
                        
                                 var text = document.createTextNode('Jean');
                        		 	     	 
                          
                        		 
                             // element.text = ' ';  
                        
                        
                        //pour IE6
                        
                                  //selection.add(element);
                        
                        //pour FF
                                   element.appendChild(text);
                        
                                  selection.appendChild(element);
                        	
                        		  
                                  ligne.appendChild(selection);
                        
                        
                                  conteneur.appendChild(ligne);
                        		  
                        
                        
                        
                           	       
                        
                                  var element = document.createElement("option");
                        
                                  element.setAttribute('value','valeur');  
                        		  
                        
                                 var text = document.createTextNode('Natali');
                        		 	     	 
                          
                        		 
                             // element.text = ' ';  
                        
                        
                        //pour IE6
                        
                                  //selection.add(element);
                        
                        //pour FF
                                   element.appendChild(text);
                        
                                  selection.appendChild(element);
                        	
                        		  
                                  ligne.appendChild(selection);
                        
                        
                                  conteneur.appendChild(ligne);
                        		  
                        
                        
                        
                           	       
                        
                                  var element = document.createElement("option");
                        
                                  element.setAttribute('value','valeur');  
                        		  
                        
                                 var text = document.createTextNode('Nadin');
                        		 	     	 
                          
                        		 
                             // element.text = ' ';  
                        
                        
                        //pour IE6
                        
                                  //selection.add(element);
                        
                        //pour FF
                                   element.appendChild(text);
                        
                                  selection.appendChild(element);
                        	
                        		  
                                  ligne.appendChild(selection);
                        
                        
                                  conteneur.appendChild(ligne);
                        		  
                        
                        
                        
                           	    
                        
                        }
                        
                        
                        
                        		      
                        	
                           catch(e) {
                        
                               alert(e);
                        
                         
                         
                            }
                        	
                        
                        }
                         
                         
                        //-->
                        
                        </script>
                        	
                        	 </br>
                         <form name="formulaire" id="form1"><p> Entrez vos choix </p>
                         </br>
                          <div id="champs_sup" > 
                         </br> 
                          <select name="liste" > <!--onChange="MM_jumpMenu('parent',this,3)" -->
                         
                         </br>
                         </br>
                        
                          
                            <option value="" onClick="addDonnee('champs_sup')" > Jean </option>
                        
                        	</br>  
                        		</br>     
                           
                         
                        	  
                        	
                         
                            <option value="" onClick="addDonnee('champs_sup')" > Natali </option>
                        
                        	</br>  
                        		</br>     
                           
                         
                        	  
                        	
                         
                            <option value="" onClick="addDonnee('champs_sup')" > Nadin </option>
                        
                        	</br>  
                        		</br>     
                           
                         
                        	  
                        	
                            	
                        	</div>
                         </select>
                        </form>
                        
                        
                        		   
                        		   
                        	
                        
                        </body>
                        </html>
                        
                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 décembre 2009 à 19:32:13

                          Aérer le code, c'est bien.
                          Trop aérer le code, c'est une perte considérable d'efficacité (à la lecture...).

                          Bref, j'ai nettoyé comme j'ai pu... : remis les balises dans l'ordre, refais l'indentation bancale, supprimé les espaces inutiles dans les balises et les majuscules aux noms d'événements, refais la fonction de manière simple...

                          Ca fonctionne au moins sous Firefox. Je peux pas tester sous IE.

                          EDIT : avec le code c'est mieux ^^

                          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                          <html xmlns="http://www.w3.org/1999/xhtml">
                          <head>
                          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                          <title>Choix des filières</title>
                          </head>
                          <body>
                          
                          <script  type="text/javascript">
                          
                          function addDonnee(idChamp,selectOrigine) {
                          
                            var conteneur = document.getElementById(idChamp);
                          
                            var nouveauSelect = selectOrigine.cloneNode(true);
                          
                            nouveauSelect.remove(nouveauSelect.options[selectOrigine.selectedIndex]);
                          
                            conteneur.appendChild(document.createElement("br"));
                            conteneur.appendChild(document.createElement("br"));
                            conteneur.appendChild(nouveauSelect);
                          }
                          
                          </script>
                          
                          </br>
                          <form name="formulaire" id="form1"><p> Entrez vos choix </p>
                          </br>
                            <div id="champs_sup" > 
                              </br>
                              <select name="liste" onchange="addDonnee('champs_sup',this)"> <!--onChange="MM_jumpMenu('parent',this,3)" -->
                                <option value=""> Jean </option>
                                <option value=""> Natali </option>
                                <option value=""> Nadin </option>
                              </select>
                            </div>
                          </form>
                          
                          </body>
                          </html>
                          
                          • Partager sur Facebook
                          • Partager sur Twitter

                          supprimer une option sélectionnée en javascri

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown