Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/04/2005, 09:59
Avatar de JavierB
JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 23 años
Puntos: 772
Hola de nuevo.

He hecho algunos cambios. El select debería quedar así: <select ante="0" onchange="eliminar(this)" />

Y el código sería este:
Código PHP:
function eliminar(obj) {
  
anterior=obj.getAttribute('ante');
  if (
anterior!="0"anadir(anterior,obj);
  
sel=obj.form.getElementsByTagName('select');
  for(
i=0;ele=sel[i];i++)
    if(
ele!=obj)
      for(
j=0;opt=ele.options[j];j++)
        if(
opt.value==obj.value) {
          
obj.setAttribute('ante',opt.value);
          
ele.options[j]=null;
          }
}
function 
anadir(num,obj) {
  
sel=obj.form.getElementsByTagName('select');
  for(
i=0;ele=sel[i];i++) 
    if(
ele!=obj)
      
ele.options[ele.options.length]=new Option(num,num);

El problema que tiene es que las nuevas opciones las añade al final, en lugar de colocarlas en orden. Si se me ocurre algo mejor... volveré

Saludos,