combobox

p_hidalgob
15 de Abril del 2004
Explico mi problema:
Genero 5 registros es decir 5 clientes cada cliente tiene un combobox, el combobox es el mismo y tiene el mismo contenido para cada uno, pero yo quiero que si para el primer cliente asigno del primer combobox el segundo elemento, el segundo elemento desaparezca del resto de combobox para que no pueda ser escogido porque ya se asigno al primer cliente, y asi sucesivamente que los elementos ya asignados vayan desapareciendo del resto de combobox

Salvador
15 de Abril del 2004
Puedes hacerlo mediante código javascript usando las propiedas del objeto combo.
Ten en cuante que no solo es eliminar, ya que cuando vuelvas a cambiar la selección del primer combo, tendrás que insertar el que eliminaste al principio y eliminar la nueva selección...

Supongo que esto lo puedes hacer teniendo un objeto elemento asociado a cada combo en el que almacenar el elemento eliminado de ese combo y así poder restaurarlo en un cambio de selección.

También tendrás que ver que inicialmente habrá ya algunos elementos seleccionados y por lo mismo eliminados del resto de los combos.

Esto es parte del código que he utilizado en una página. Échale un vistazo y busca en la web de MSDN de microsoft información sobre el objeto element.
Es una buena página de ayuda:

function Borrar()
{
i=document.forms.miformulario.micomboORIGEN.options.length-1;
while (i>-1)
{
//alert(i);
texto=document.forms.miformulario.micomboORIGEN.options[i].text;
valor=document.forms.miformulario.micomboORIGEN.options[i].value;
var num=document.forms.miformulario.micomboDESTINO.options.length;
//num=num+1; num devuelve el numero de elem mas uno
var otra=new Option(texto,valor,"defaultSelected");
document.forms.miformulario.micomboDESTINO.options[num]=otra;
document.forms.miformulario.micomboORIGEN.options[i]=null;
i=i-1;
}
}

Esto pasa un elemento de un combo a otro, eliminando en el ORIGEN y añadiendo en el DESTINO.

Espero haberte ayudado.