Foros del Web » Programando para Internet » Javascript »

valor de un combo con nombre variable

Estas en el tema de valor de un combo con nombre variable en el foro de Javascript en Foros del Web. Hola mi problema es que tengo una variable de la cual depende el numero de combos que van a salir en una pagina asp. El ...
  #1 (permalink)  
Antiguo 20/01/2006, 13:18
Avatar de Callaghan  
Fecha de Ingreso: enero-2006
Mensajes: 58
Antigüedad: 18 años, 3 meses
Puntos: 1
valor de un combo con nombre variable

Hola mi problema es que tengo una variable de la cual depende el numero de combos que van a salir en una pagina asp.
El codigo para construir los combos es este y funciona bien.

j=1

do while j < iNivelaux
jstring=cstr(j)
'construyo el nombre del combo que sera cmbN1 para el nivel 1, cmbN2 para el 2, etc...
nombrecombo = "cmbN" + jstring
construyo el nombre de la funcion que vamos a llamar. Selecciona(1) si estoy cambiando el combo 1, selecciona 2 si estoy cambiando el combo 2, etc...
funcioncombo = "SeleccionaAnt(" + jstring + ")"%>
<tr><td>Nivel <%=j%> : <SELECT class=textoNormal style="WIDTH: 278px; HEIGHT: 18px" name="<%=nombrecombo%>" onChange="<%=funcioncombo%>">

Lo que no se es como tratar esto en javascript.
function SeleccionaAnt(combo)
{
var nivel;
nivel = document.frmAlta.[aqui iria el nombre del combo, cmbN1,...].value;
...........
}
La cuestion es que quiero guardar en la variable nivel el valor del combo que se ha cambiado, solo se puede cambiar un combo de los multiples que hay pues al cambiar ese se carga otra pagina.
No se si me he explicado bien....
A ver si me podeis ayudar.
Thanksss
  #2 (permalink)  
Antiguo 20/01/2006, 13:32
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola Callaghan

Si te he entendido bien, lo más sencillo es que lo pusieras así:

<SELECT class=textoNormal style="WIDTH: 278px; HEIGHT: 18px" name="<%=nombrecombo%>" onchange="SeleccionaAnt(this)">

this hace referencia al propio objeto.

la función quedaría de esta forma:

function SeleccionaAnt(combo) {
var nivel;
nivel = combo.value;
... }

Espero que te sirva. Saludos,
  #3 (permalink)  
Antiguo 20/01/2006, 13:51
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
hola Callaghan!
Te sugiero pasar nombrecombo (el nombre del combo) como parametro, en lugar de su indice. En ese caso, tu funcion seria:
Código PHP:
function SeleccionaAnt(nameCombo)
{
  var 
nivel;
  
nivel document.frmAlta[nameCombo].value;
  ...........

Espero haberte ayudado
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #4 (permalink)  
Antiguo 20/01/2006, 15:37
Avatar de Callaghan  
Fecha de Ingreso: enero-2006
Mensajes: 58
Antigüedad: 18 años, 3 meses
Puntos: 1
Hola, gracias por las respuestas.
Lo que pasa es que necesito tambien el indice que pasaba porque tengo que hacer una operacion con el.

¿Esto seria correcto?
<SELECT class=textoNormal style="WIDTH: 278px; HEIGHT: 18px" name="<%=nombrecombo%>" onchange="SeleccionaAnt(this,<%=j%>)">

function SeleccionaAnt(combo,estado) {
var nivel;
var aux;
nivel = combo.value;
aux = estado + 1;
... }
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 19:48.