Foros del Web » Programando para Internet » Javascript »

Añadir opciones en array de selects

Estas en el tema de Añadir opciones en array de selects en el foro de Javascript en Foros del Web. Hola Tengo un array de selects (combobox), todos con la misma id, claro Me gustaria saber como se puede, dentro de una funcion de javascript, ...
  #1 (permalink)  
Antiguo 16/11/2010, 12:31
 
Fecha de Ingreso: julio-2002
Mensajes: 61
Antigüedad: 21 años, 9 meses
Puntos: 1
Añadir opciones en array de selects

Hola

Tengo un array de selects (combobox), todos con la misma id, claro

Me gustaria saber como se puede, dentro de una funcion de javascript, añadir/quitar opciones a una ocurrencia concreta del array de selects, es decir, si tengo 11 selects, poder añadir/quitar opciones a, por ejemplo, el primero de mis selects

gracias
  #2 (permalink)  
Antiguo 16/11/2010, 12:39
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: Añadir opciones en array de selects

Cita:
Tengo un array de selects (combobox), todos con la misma id, claro
ese es el primer error, mas de un elemento no puede contener el mismo valor para el atributo id. es decir, un id debe ser unico en todo el documento. distinto fuera si mas de un elemento comparte el mismo valor para el atributo name. para agregar/remover options tienes dos formas en DOM: con add/remove de los selects, o con appendChild/removeChild de los elementos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 16/11/2010, 14:51
 
Fecha de Ingreso: julio-2002
Mensajes: 61
Antigüedad: 21 años, 9 meses
Puntos: 1
Respuesta: Añadir opciones en array de selects

Cita:
Iniciado por zerokilled Ver Mensaje
ese es el primer error, mas de un elemento no puede contener el mismo valor para el atributo id. es decir, un id debe ser unico en todo el documento. distinto fuera si mas de un elemento comparte el mismo valor para el atributo name. para agregar/remover options tienes dos formas en DOM: con [url=http://www.w3schools.com/jsref/met_select_add.asp]add[/url]/[url=http://www.w3schools.com/jsref/met_select_remove.asp]remove[/url] de los selects, o con [url=http://www.w3schools.com/dom/met_element_appendchild.asp]appendChild[/url]/[url=http://www.w3schools.com/dom/met_element_removechild.asp]removeChild[/url] de los elementos.
cuando dices que mas de un elemento no puede contener el mismo valor para el atributo id, quieres decir que es imposible que lo tenga o que no es conveniente?

porque ahora mismo lo que si se hacer es recorrerme el array de selects y preguntar por la opcion seleccionada en cada uno de ellos, de esta forma:

for (i=0; i<=10; i++) {
if (form.Form_Posicion[i].value == 0) {
----codigo----
}
}

digo yo, que si puedo recorrerme los selects preguntando por su valor, no se puede añadir o quitar opciones a un select concreto?
  #4 (permalink)  
Antiguo 16/11/2010, 15:11
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: Añadir opciones en array de selects

de que es posible tenerlo, lo puede. sin embargo, no podras hacer referencia a todos con getElementById. la funcion solo te devolvera el primero que encuentre. adicional, segun el estandar no es correcto asignar el mismo valor al atributo id. la forma de agregar o eliminar elementos depende de ti. o sea, tu eres quien sabe en que circunstancia o bajo que condiciones eso debe suceder. usando tu mismo codigo de ejemplo, pudiera ser que tu quieras agregar/eliminar un option cuando el valor de select es 0. pero eso afectaria a todos con el mismo valor. entonces, si quieres trabajar con un select en particular debes hacer referencia de alguna forma que no afecte a los demas.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: añadir, opciones, selects
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 10:03.