Foros del Web » Programando para Internet » Javascript »

Pasar todos los elementos del Select

Estas en el tema de Pasar todos los elementos del Select en el foro de Javascript en Foros del Web. Hola ¡¡ Tengo un select multiple y quiero poner cuatro opciones: Pasar un elemento, Quitar un elemento, Pasar todos los elementos o quitar todos los ...
  #1 (permalink)  
Antiguo 17/04/2008, 10:06
 
Fecha de Ingreso: marzo-2008
Mensajes: 42
Antigüedad: 16 años, 1 mes
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¡
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:29.