Manipulation de 2 listes deroulantes

Résolu
Medgueye Messages postés 62 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 20 juin 2009 - 27 oct. 2008 à 15:27
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 28 oct. 2008 à 12:44
Bonjour


J’ai deux listes deroulantes qui contiennent, initialement, les memes elts.


Sur une meme pages.



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Je voudrai si possible avoir une fonction js qui, tout l’element selectionner de la premiere liste ; sera supprimer de la seconde liste. Sans recharger la page en entier







 


Merci  d’avance

11 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
27 oct. 2008 à 15:44
bonjour,

et pourquoi voudrais-tu que la page se recharge ?
ou alors tu ne nous dis pas tout, et c'est en
liaison avec le serveur ?

le_select_1.options[le_select_1.selectedIndex].text
c'est le texte affichée dans la ligne sélectionnée
de le_select_1
tu recherches le même texte dans le_select_2
et tu supprimes avec le_select_2.remove(n° de l'option)
sous reserve qu'un même texet n'existe pas plusieurs fois
( ou alors jouer avec le .value )

voili, voilou.

Cordialement.
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
27 oct. 2008 à 17:06
tu aurais pu mettre le html !   ça m'aurait évité de le taper...

quelques imprécisions :

 if(document.frm.liste2.item(i)==elt)    
      c'est quoi i ?   ton for utilise n
      c'est item(i) ? options[n].text ou options[n].value

tu avais des erreurs de syntaxe... au moins !

bon, petit exemple, sur le text ( tu adateras et optimiseras : brut de fonderie )

<!--table style="width:100%;">
<tr>
<td style=" border-width:2px;
border-style:solid;
border-color:#FF8000;
font-family:Courier New;
color:#400040;
font-size:12px;
background-color:#FFEFEF;">


</td>
</tr>
</tbody>
</table-->

<script>

function supp()

{  for ( var n=0; n<document.frm.liste2.length; n++ )

    {     if( document.frm.liste2.options[n].text==

               document.frm.liste1.options[document.frm.liste1.selectedIndex].text )

         {  document.frm.liste2.remove(n);

            break;

         }

    }

}

</script>

<form name="frm">

    <select name="liste1"     size=10>

        <option>un

        <option>deux

        <option>trois

        <option>quatre

    </select>

    <select name="liste2"    size=10>

        <option>un

        <option>deux

        <option>trois

        <option>quatre

    </select>

   

</form>

et tant qu'a faire, quand on développe :
Chrome
, contrôler page actuelle / Options pour développeurs
/ Console Javascript, ----
FireFox
, Outils / Console d'erreurs
et mieux : télécharger mon Site] [M'écrire]         
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 oct. 2008 à 11:23
tu n'étais pas loin...
il te suffisait d'un peu d'attention,
de patience, de réflexion, de deboggage...
et tu y parvenais seul.
@+
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
27 oct. 2008 à 15:44
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Medgueye Messages postés 62 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 20 juin 2009
27 oct. 2008 à 15:53
pouvez vous m'aider du cote js car je m'y connais pas tres bien


merci
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
27 oct. 2008 à 16:01
t'as toutes les billes ( ou presque )
fais au moins un petit quelque chose....
on devrait pouvoir t'aider à mettre au point
           Bul [mon Site] [M'écrire]         
0
Medgueye Messages postés 62 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 20 juin 2009
27 oct. 2008 à 16:13
function supp()
{
      // je recupere la valeur selectionner de la liste 1
     var elt = document.frm.liste1.value;
   // je parcours la liste 2 pour supprimer la valeur qui correspond à 
 //celle selectionner dans liste 1
     for(var n=0; n<document.frm.liste2.length; n++)
    {
        if(document.frm.liste2.item(i)==elt)
         {
            // une fois trouvé je le suprime
               document.frm.liste2.remove(i);
               break;
          }
    }
}

 voici ce que j'ai fais mais ça ne marche pas

Merci encore
0
Medgueye Messages postés 62 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 20 juin 2009
28 oct. 2008 à 11:04
merci bcp c'est exactement ce que je voulais.
encore merci
0
Medgueye Messages postés 62 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 20 juin 2009
28 oct. 2008 à 11:39
effectivement je m'en suis rendu compte. surtout avec l'erreur sur le compteur n au lieu de i.


Merci encore
0
Medgueye Messages postés 62 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 20 juin 2009
28 oct. 2008 à 11:43
et dites moi pour ajouter un element dans ma liste avec js on utilise qlq fonction?
J'ai tenté les fonction 'add, item' mais il ne donne rien
voici ma syntax:
- document.frm.liste2.item('frere') ;
- document.frm.liste2.item('frere') ;

Merci
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 oct. 2008 à 12:44
euh... pas la bonne syntaxe !
il te faut une doc, la lire, et respecter la syntaxe
    tu ne peux pas inventer... ça ne marchera pas
prend selfHTML par exemple, en français, gratis,
        téléchargeable : ici la version chm ( une version html existe )
et un exemple de manipulation des select

          Bul [mon Site] [M'écrire]         
0
Rejoignez-nous