remplir une liste avec une autre

remplir une liste avec une autre - HTML/CSS - Programmation

Marsh Posté le 25-04-2006 à 11:18:20    

Bonjour,
 
Je cherche à remplir une liste non déroulante avec des valeurs prises dans une autre liste non déroulante (sur un double click par exemple). Tout ça dans le but de récupérer les valeurs de la seconde liste par un POST. J'ai quelques idées sur la façon de m'y prendre, mais si vous aviez un bout de code à m'envoyer ça me simplifierait la tâche.
Merci


Message édité par letesp le 25-04-2006 à 11:33:36
Reply

Marsh Posté le 25-04-2006 à 11:18:20   

Reply

Marsh Posté le 25-04-2006 à 11:29:14    

Mauvaise cat : section javascript

Reply

Marsh Posté le 25-04-2006 à 11:35:09    

c'est obligatoirement du javascript? ou c'est juste 10 fois plus rapide (en temps d'exécution)

Reply

Marsh Posté le 25-04-2006 à 12:05:15    

Bonjour,
 
Voici la solution :
 

<html>
<script language="JavaScript">
function move_lstbox_item(l1, l2) {
   if (l1.options.selectedIndex>=0) {
      o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
      l2.options[l2.options.length] = o;
      l1.options[l1.options.selectedIndex] = null;
   }
}
function enum_lstbox_items(l1, list_options) {
   list_options.value = "";
   for (var i = 0; i < l1.options.length; i++) {
      list_options.value = list_options.value + l1.options[i].value + ";";
   }
   return true;
}
</script>
<head>
</head>
<body>
Transfer an item from one list to the other with a double click
<form name=myform>
<select name="lstbox1" size=5 ondblclick="move_lstbox_item(myform.lstbox1, myform.lstbox2)" style=width:200px>
<option value="a" selected>Apricot
<option value="b">Banana
<option value="c">Cherry
<option value="d">Doughnut
</select>
<select name="lstbox2" size=5 ondblclick="move_lstbox_item(myform.lstbox2, myform.lstbox1)" style=width:200px>
</select>
<input type=hidden name=list_items value=";">
<p>
<input type=button name=B_ok value="List items in 2nd listbox" onClick="enum_lstbox_items(myform.lstbox2, list_items);alert(list_items.value)">
</form>
</body>
</html>

 

Reply

Marsh Posté le 25-04-2006 à 14:54:11    

merci de ta réponse.
Entre temps j'ai récupéré 2 ou 3 trucs que j'ai assemblé pour faire ça:
 
<script language="JavaScript1.2">
<!--
window.onload = init;
 var Form;
 var disponible, selected_disponible;
 var ajoute, selected_ajoute;
 
function init()
{
 Form = document.form;
 disponible = Form.disponible;
 ajoute = Form.ajoute;
}
 
function ajouter(){
 
 selected_disponible = Form.disponible.selectedIndex;
 
 for(i=0; i<ajoute.length; i++)
  if(ajoute.options[i].value == '')
  {
   selected_ajoute = i;
   break;
  }
 
 if (selected_disponible == -1)
  alert("Veuillez s\351lectionner un item dans la liste" );
 else if (selected_disponible != -1)
 {
  var element = document.createElement("option" );
  element.appendChild(document.createTextNode(disponible.options[selected_disponible].text));
  element.value = disponible.options[selected_disponible].value;
  ajoute.appendChild(element);
 }
 else
  alert("probl\352me inconnu" );
}
 
function retirer(){
 
 selected_ajoute = ajoute.selectedIndex;
 ajoute.remove(selected_ajoute);
}
 
function toutretirer(){
 
 while(ajoute.length>0)
  ajoute.remove(0);
}
 
 
// -->
</script>

Reply

Marsh Posté le 25-04-2006 à 14:54:42    

merci de ta réponse.
Entre temps j'ai récupéré 2 ou 3 trucs que j'ai assemblé pour faire ça:
 
<script language="JavaScript1.2">
<!--
window.onload = init;
 var Form;
 var disponible, selected_disponible;
 var ajoute, selected_ajoute;
 
function init()
{
 Form = document.form;
 disponible = Form.disponible;
 ajoute = Form.ajoute;
}
 
function ajouter(){
 
 selected_disponible = Form.disponible.selectedIndex;
 
 for(i=0; i<ajoute.length; i++)
  if(ajoute.options[i].value == '')
  {
   selected_ajoute = i;
   break;
  }
 
 if (selected_disponible == -1)
  alert("Veuillez s\351lectionner un item dans la liste" );
 else if (selected_disponible != -1)
 {
  var element = document.createElement("option" );
  element.appendChild(document.createTextNode(disponible.options[selected_disponible].text));
  element.value = disponible.options[selected_disponible].value;
  ajoute.appendChild(element);
 }
 else
  alert("probl\352me inconnu" );
}
 
function retirer(){
 
 selected_ajoute = ajoute.selectedIndex;
 ajoute.remove(selected_ajoute);
}
 
function toutretirer(){
 
 while(ajoute.length>0)
  ajoute.remove(0);
}
 
 
// -->
</script>

Reply

Marsh Posté le 25-04-2006 à 15:32:19    

Ouais du code Lego© [:dawa]

Reply

Sujets relatifs:

Leave a Replay

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