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¡