Foros del Web » Programando para Internet » Javascript »

Problema tipo variables

Estas en el tema de Problema tipo variables en el foro de Javascript en Foros del Web. Intento que dependiendo de la opcion del select seleccionada, pueda recoger los valores del array.(He simplificado el codigo, solo la Categoria 1 tiene un array ...
  #1 (permalink)  
Antiguo 26/11/2005, 14:10
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años
Puntos: 0
Problema tipo variables

Intento que dependiendo de la opcion del select seleccionada,
pueda recoger los valores del array.(He simplificado el codigo, solo la Categoria 1 tiene un array asociado)
El problema lo tengo en que la variable heselecionado, no lo reconoce como un array

<SCRIPT language=JavaScript>
function alertselected(){
//alert(document.form1.CatIdParent.selectedIndex)
heselecionado='Hijos'+document.form1.CatIdParent.selectedIndex
alert(heselecionado)

¿Por que asi no es posible?
for (var idxN in heselecionado) {
alert(heselecionado[idxN])
}
¿Como seria para que heselecionado sea igual que Hijos1?
Asi es posible
for (var idxN in Hijos1) {
alert(Hijos1[idxN])
}
}
</SCRIPT>

<SCRIPT>
Hijos1=new Array();
Hijos2=new Array();
Hijos1.push(2);
Hijos1.push(5);
Hijos1.push(6);
Hijos1.push(7);
Hijos1.push(8);
Hijos1.push(9);
Hijos2.push(3);
</SCRIPT>
<form name="form1" action="OTRA.asp" method=post>
<input size=52 name="nombrecat" value="" maxlength=100>
<BR>
<input type="checkbox" name="principal" value="habilitar" onclick="checkCheckBox()">
<BR>
<select name="CatIdParent" onChange="alertselected()">
<option selected=""></option>
<option value="1">Categoria 1
<option value="2">Categoria 1 A
<option value="3">Categoria 1 AA
<option value="5">Categoria 1 B
<option value="6">Categoria 1 C
<option value="7">Categoria 1 D
<option value="8">Categoria 1 E
<option value="9">Categoria 1 F
<option value="4">Categoria 2
</select>
<BR>
<input type="submit" value='Guardar' name="update">
</form>
  #2 (permalink)  
Antiguo 26/11/2005, 18:46
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
hola,
en realidad no comprendo bien lo que queres hacer, pero:

1.-
Cita:
<SCRIPT>
Hijos1=new Array();
Hijos2=new Array();
Hijos1.push(2);
Hijos1.push(5);
Hijos1.push(6);
Hijos1.push(7);
Hijos1.push(8);
Hijos1.push(9);
Hijos2.push(3);
</SCRIPT>
no es mejor hacerlo así:
Cita:
<SCRIPT>
Hijos1=new Array(2,5,6,7,8,9);
Hijos2=new Array(3);

</SCRIPT>

2.-
Cita:
heselecionado='Hijos'+document.form1.CatIdParent.s electedIndex
alert(heselecionado)
y así??:

Cita:
heselecionado=Hijos[document.form1.CatIdParent.selectedIndex];
alert(heselecionado);

aunque reitero, no se para donde querés que salga el tiro.
__________________
by Capitán Buscapina
.
  #3 (permalink)  
Antiguo 26/11/2005, 19:03
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años
Puntos: 0
Uso push para meter valores en los arrays, porque se van obteniendo de uno en uno desde la base de datos.
El alert(heselecionado) funciona

Con esto:
heselecionado='Hijos'+document.form1.CatIdParent.s electedIndex
Pretendo que heselecionado=Hijos1, (cuando selecione la primera cateoria), lo que ocurre es que al poner:
for (var idxN in heselecionado) {
alert(heselecionado[idxN])
}
No lo toma como el array que ya estaba creado

Yo pretendo que heselecionado sea ese Array, pero no se como.
  #4 (permalink)  
Antiguo 27/11/2005, 03:50
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Debes declarar como array la variable heseleccionado

Código:
<SCRIPT language=JavaScript>
heselecionado = new Array()
function alertselected(){
//alert(document.form1.CatIdParent.selectedIndex)
heselecionado='Hijos'+document.form1.CatIdParent.selectedIndex
alert(heselecionado)
  #5 (permalink)  
Antiguo 27/11/2005, 03:55
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
...me faltaba leer más.

Cuando le asignas el valor Hijos1 lo estás haciendo como un valor de tipo string. Debes hacer que lo interprete como objeto

prueba así

Código:
<SCRIPT language=JavaScript>
heselecionado = new Array()
function alertselected(){
//alert(document.form1.CatIdParent.selectedIndex)
eval('heselecionado= Hijos'+document.form1.CatIdParent.selectedIndex)
alert(heselecionado)
  #6 (permalink)  
Antiguo 27/11/2005, 17:18
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años
Puntos: 0
Muchas Gracias Tunait, por tu solucion y tus explicaciones, funciono perfecto.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 16:18.