Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/05/2012, 13:16
vmoran2009
 
Fecha de Ingreso: febrero-2011
Mensajes: 43
Antigüedad: 13 años, 3 meses
Puntos: 0
añadir o remover elementos select multiple no funciona correctamente

hola amigos estoy realizando una pantalla donde a través de un boton añadir agrego elementos de un select multiple a otro, sin embargo tengo el siguiente problema:

si marco con la tecla CTRL 1,2,3 objetos del primer select solo me añade 2 (el primero y el último seleccionado) no me añade los tres tengo dos funciones y no se donde puede estar el problema.

agrego el codigo para saber si alguno de ustedes puede ayudarme a corregir eso, gracias

<html>
<head>

<style type="text/css">
select {
width: 200px;
height: 100px;
background-color: #FFA;
color: #000;
}
</style>

<script type="text/javascript">

function AddToSecondList(){
var fl = document.getElementById('firstlist');
var sl = document.getElementById('secondlist');
for (i = 0; i < fl.options.length; i++){
if(fl.options[i].selected){
sl.add(fl.options[i],null);
}
}
return true;
}

function DeleteSecondListItem(){
var fl = document.getElementById('firstlist');
var sl = document.getElementById('secondlist');
for (i = 0; i < sl.options.length; i++){
if(sl.options[i].selected){
fl.add(sl.options[i],null);

}
}
return true;
}

</script>

</head>
<body>
<form name="f1" action="<?php echo $_SEVER['PHP_SELF']; ?>" method="post">

<div>
<select name="noasignados[]" id="firstlist" multiple="multiple" style="select">
<option>Item 1</option>
<option>Item 2</option>
<option>Item 3</option>
<option>Item 4</option>
</select>
&nbsp;
<select name="asignados[]" id="secondlist" multiple="multiple" style="select">
</select>
</div>

<div>
<input type="button" value="Añadir>"
onclick="AddToSecondList();" />
<input type="button" value="Quitar>"
onclick="DeleteSecondListItem();" />
</div>
<input type="submit" name="enviar" value="Enviar datos!" >
</form>
<?php
if (isset($_POST['enviar'])) {
$asignados=$_POST["asignados"];
for ($i=0;$i<count($asignados);$i++){
echo "<br> Asignados " . $i . ": " . $asignados[$i];
}
}
?>
</body>
</html>