Tengo un select multiple y quiero poner cuatro opciones:
Pasar un elemento, Quitar un elemento, Pasar todos los elementos o quitar todos los elementos.
Tengo funcionado correctamente el pasar un elemento y quitar un elemento:
Código:
<script language="JavaScript"> function foco() { document.form1.c.focus(); } var i = 0; function anadir() { obj=document.getElementById('lista'); if (obj.selectedIndex==-1) return; valor=obj.value; txt=obj.options[obj.selectedIndex].text; obj.options[obj.selectedIndex]=null; obj2=document.getElementById('seleccionados'); opc = new Option(txt,valor); eval(obj2.options[obj2.options.length]=opc); } function eliminar() { obj=document.getElementById('seleccionados'); if (obj.selectedIndex==-1) return; valor=obj.value; txt=obj.options[obj.selectedIndex].text; obj.options[obj.selectedIndex]=null; obj2=document.getElementById('lista'); opc = new Option(txt,valor); eval(obj2.options[obj2.options.length]=opc); }
Pero el pasar todo y el quitar todo no consigo hecharlos a andar.
He probado con esta funcion pero me sale como "undefined" una vez pulso el botón de pasar todo:
Código:
Las llamadas desde los botones las pongos así:<script> function mover(tipo) { if (tipo>1) { seleccionados=document.getElementById('lista'); lista=document.getElementById('seleccionados'); tipo-=2; } else { } switch(tipo) { case 0: cual=lista.selectedIndex; if (cual>=0) { texto = lista.options[cual].text; valor = lista.options[cual].value; otra = new Option(texto, valor, false, false); seleccionados.options[seleccionados.length]=otra; lista.remove(cual); } break; case 1: for (var i=0; lista.options.length>0;) { otra=new Option(lista.options.text,lista.options.value,false,false); seleccionados.options[seleccionados.length]=otra; lista.remove(i); } break; } return false; } //--> </script>
Código:
Alguien puede hexarme una mano????<input name="addAll" type="button" id="addAll" value=">>" onclick="mover(1);"> <input name="deleteAll" type="button" id="deleteAll" value="<<" onclick="mover(3);">
Muchas gracias ¡¡
Un abrazo¡