Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/04/2008, 10:06
FlashO
 
Fecha de Ingreso: marzo-2008
Mensajes: 42
Antigüedad: 17 años
Puntos: 0
Pasar todos los elementos del Select

Hola ¡¡

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:
<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>
Las llamadas desde los botones las pongos así:
Código:
<input name="addAll" type="button" id="addAll" value=">>" onclick="mover(1);">
  <input name="deleteAll" type="button"  id="deleteAll" value="<<" onclick="mover(3);">
Alguien puede hexarme una mano????

Muchas gracias ¡¡
Un abrazo¡