Select multiple et remplissage d'une zone de texte [resolu tout seul]

Select multiple et remplissage d'une zone de texte [resolu tout seul] - HTML/CSS - Programmation

Marsh Posté le 02-06-2005 à 11:49:21    

Bonjour
 
J'ai ici un select multiple.
A côté, deux boutons "Tout sélectionner" et "Tout déselectionner". Ceux-ci marchent.
En-dessous, un bouton "Ajouter", qui (devrait) ajouter les éléments sélectionnés dans un textarea en-dessous.
 
Quand je ne sélectionne qu'un élément du select, je fais ajouter, ça marche.
Quand je sélectionne plusieurs éléments du select, ça ne me met que le premier dans le textarea.
 
Lors du clic sur "ajouter" :
 

Code :
  1. function ajouterDest() {
  2. liste = document.envoimessage.destinataires_liste;
  3. texte = document.envoimessage.destinataires;
  4. if (liste.options.selectedIndex >= 0) {
  5.  if (texte.value != "" ) {
  6.   texte.value += "/"
  7.  }
  8.  texte.value += '' + liste.options[liste.options.selectedIndex].text + '|';
  9.  texte.value += liste.options[liste.options.selectedIndex].value;
  10. } else {
  11.  alert("Veuillez sélectionner au moins un destinataire à ajouter" )
  12. }
  13. }


 
J'ai essayé de mettre un for après le if(liste.options.selectedIndex >= 0), d'une ca ne marche pas, et de deux, si les éléments sélectionnés ne sont pas côte à côte, ça aurait sélectionné ceux qui sont entre.
 
Avez-vous une solution ?
 
Merci ! [:dawa]


Message édité par cosmoschtroumpf le 02-06-2005 à 12:34:48

---------------
Android/Manettes/Metroidvania/Zelda/Indés/Retrogaming/VDS jeux
Reply

Marsh Posté le 02-06-2005 à 11:49:21   

Reply

Marsh Posté le 02-06-2005 à 12:34:31    

ok j'ai trouvé :o
 

Code :
  1. function ajouterDest() {
  2. liste = document.envoimessage.destinataires_liste;
  3. texte = document.envoimessage.destinataires;
  4. if (liste.options.selectedIndex >= 0) { // si il y a au moins un élément sélectionné (-1 si aucun)
  5.  for (i = 0 ; i <= liste.options.length ; i++) { // pour chaque élément de la liste
  6.   if (liste.options[i].selected = true) { // si cet élément est sélectionné
  7.    if (texte.value != "" ) {
  8.     texte.value += "/"
  9.    }
  10.    texte.value += '' + liste.options[i].text + '|';
  11.    texte.value += liste.options[i].value;
  12.   }
  13.  }
  14. } else {
  15.  alert("Veuillez sélectionner au moins un destinataire à ajouter" )
  16. }
  17. }


---------------
Android/Manettes/Metroidvania/Zelda/Indés/Retrogaming/VDS jeux
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed