Foros del Web » Programando para Internet » Javascript »

Borrar option en arreglo de combo

Estas en el tema de Borrar option en arreglo de combo en el foro de Javascript en Foros del Web. Buenas, tengo un arreglo de select, cuando realizo una accion, quiero que se me elimine el option cuyo valor sea el q le paso, para ...
  #1 (permalink)  
Antiguo 20/05/2009, 14:45
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Pregunta Borrar option en arreglo de combo

Buenas, tengo un arreglo de select, cuando realizo una accion, quiero que se me elimine el option cuyo valor sea el q le paso, para todos los combos. No se que esta pasando pero me elimina siempre el primero que es valor en blanco, y ya revise el valor de 'contenido' y tiene el valor correcto.

Código html:
Ver original
  1. t2Array=document.getElementsByName("t2_[]");
  2.     for(i=0; i<t2Array.length; i++)//Arreglo de todos los combos de tablas 2
  3.     {
  4.         for(j=1; j<t2Array[i].options.length; j++)//arreglo de todos los options del combo
  5.         {
  6.             if(t2Array[i].options[j].value==contenido)//si es la tabla que se borro
  7.             {
  8.                 t2Array[i].remove(t2Array[i].options[j]);
  9.                 break;
  10.             }
  11.         }
  12.     }
t2_ es el nombre de los combos.
contenido es el valor que debe tener los options que borrare

Ojala me puedan ayudar en esto.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #2 (permalink)  
Antiguo 20/05/2009, 15:22
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Borrar option en arreglo de combo

contenido debe ir entre comillas:

if(t2Array[i].options[j].value=="contenido")

A menos claro, que contenido sea una variable, pero no la veo definida por ningún lugar.
__________________
twitter: @imbuzu
  #3 (permalink)  
Antiguo 20/05/2009, 16:11
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Borrar option en arreglo de combo

es una variable, lo que pasa es q coloque el trozo de codigo donde me esta dando problemas.
contenido tiene la cadena que debe tener el option para borrarlo.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #4 (permalink)  
Antiguo 20/05/2009, 17:22
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Borrar option en arreglo de combo

en tal caso habría que ver tu función remove que puede ser la que está tomando el valor equivocado. O será que te estás equivocando y en lugar de usr removeChild estás usando solo remove?
__________________
twitter: @imbuzu
  #5 (permalink)  
Antiguo 20/05/2009, 20:41
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Borrar option en arreglo de combo

remove acepta como argumento un indice, no un objeto HTMLOptionElement.
Código:
t2Array[i].remove(j);

Última edición por zerokilled; 20/05/2009 a las 20:49
  #6 (permalink)  
Antiguo 20/05/2009, 20:54
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Borrar option en arreglo de combo

jajaja... tienes razón zerokilled.
__________________
twitter: @imbuzu
  #7 (permalink)  
Antiguo 21/05/2009, 07:41
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Borrar option en arreglo de combo

Pero como le digo de que options me borre el option?

Saludos

PD:
Entonces cual es la diferencia entre lo que puse arriba y esto:
Código html:
Ver original
  1. document.getElementById(sel).remove(document.getElementById(sel).options[j]);

Porque esto lo uso y funciona bien.

Saludos

PD:

Solucionado, gracias por aclararme que es un indice y no un objeto, jejeje lo hacia porque estaba borrando todos los options en un ciclo, y la cuestion es q viendolo mas detenidamente me borraba siempre el option 0, me inmagino que es porque no reconocia el indice.
Era el problema que me pasaba, pero ya esta solucionado.
Muchas gracias.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.

Última edición por the_web_saint; 21/05/2009 a las 08:00
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 12:41.