Foros del Web » Programando para Internet » Javascript »

concatenar variables

Estas en el tema de concatenar variables en el foro de Javascript en Foros del Web. Hola gente, tengo la siguiente función. Mi problema está en que no puedo concatenar un string con una variable para formar una nueva, ejemplo: quiero ...
  #1 (permalink)  
Antiguo 13/10/2005, 06:32
 
Fecha de Ingreso: octubre-2004
Ubicación: En algún lugar de la República Oriental del Uruguay
Mensajes: 366
Antigüedad: 19 años, 6 meses
Puntos: 0
concatenar variables

Hola gente, tengo la siguiente función. Mi problema está en que no puedo concatenar un string con una variable para formar una nueva, ejemplo: quiero que cada vez que ejecute esta función se formen las varibables province1, province2, etc. juntando el string "province" con la variable sum (cual voy incrementando cada vez que ejecuto la función). Intenté con algo como eval("province"+sum), pero no me ha funcionado o algo hago mal.


Código PHP:
var sum=0;
function 
selectAsociado(){
sum++
var 
"province"+sum
"province"+sum document.form1."province"+sum[document.form1."province"+sum.selectedIndex].value

//.......



gracias
__________________
ratamaster
  #2 (permalink)  
Antiguo 13/10/2005, 07:13
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
Buenas,

prueba este ejemplo a ver si te orienta

Código:
var sum=0; 
var province = "province";
function selectAsociado(){ 
   sum++ 
   province += sum + ", ";
   }
  #3 (permalink)  
Antiguo 13/10/2005, 07:36
 
Fecha de Ingreso: octubre-2004
Ubicación: En algún lugar de la República Oriental del Uruguay
Mensajes: 366
Antigüedad: 19 años, 6 meses
Puntos: 0
Me da un error, me dice que "province1 is not defined"
Esta es mi función, cuando escribo province1 en lugar de eval(province + sum), no me salta este error.


Código PHP:
var sum=0;
var 
province "province";
function 
selectAsociado(){
sum++;
eval(
province sum) = document.form1.eval(province sum)[document.form1.eval(province sum).selectedIndex].value
if (eval(province sum) != 0) {
    
mis_subsecc=eval("secc_sub" + eval(province sum))
    
num_seccisub mis_subsecc.length
    document
.form1.eval(city num).length num_seccisub
    
    mis_subseccVls
=eval("secc_subVls" + eval(province sum))
    
num_seccisubVls mis_subseccVls.length
    document
.form1.eval(city num).length num_seccisubVls

    
for(i=0;i<num_seccisub;i++){
        
document.form1.eval(city num).options[i].value=mis_subseccVls[i
        
document.form1.ceval(city num).options[i].text=mis_subsecc[i
    }
}else{
document.form1.eval(city num).length 1
document
.form1.eval(city num).options[0].value "0"
document.form1.eval(city num).options[0].text "-"
}
document.form1.eval(city num).options[0].selected true

esto si me funciona:

Código PHP:
function selectAsociado(){
sum++;
province1 document.form1.province1[document.form1.province1.selectedIndex].value  //chequeo que valor está seleccionado
if (province1 != 0) {
    
mis_subsecc=eval("secc_sub" province1)
    
num_seccisub mis_subsecc.length
    document
.form1.city1.length num_seccisub
    
    mis_subseccVls
=eval("secc_subVls" province1)
    
num_seccisubVls mis_subseccVls.length
    document
.form1.city1.length num_seccisubVls

    
for(i=0;i<num_seccisub;i++){
        
document.form1.city1.options[i].value=mis_subseccVls[i
        
document.form1.city1.options[i].text=mis_subsecc[i
    }
}else{
document.form1.city1.length 1
document
.form1.city1.options[0].value "0"
document.form1.city1.options[0].text "-"
}
document.form1.city1.options[0].selected true

__________________
ratamaster
  #4 (permalink)  
Antiguo 13/10/2005, 08:20
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
pero ¿por qué estás usando el eval? no es necesario que lo uses
  #5 (permalink)  
Antiguo 13/10/2005, 08:48
 
Fecha de Ingreso: octubre-2004
Ubicación: En algún lugar de la República Oriental del Uruguay
Mensajes: 366
Antigüedad: 19 años, 6 meses
Puntos: 0
si no uso eval me da este error:

Código:
Error: invalid assignment left-hand side
Source File: http://192.168.0.6/admin/distributor_service/file.php?a=0
Line: 338, Column: 17
Source Code:
province + sum = document.form1.province1[document.form1.province1.selectedIndex].value
no me acepta el province + sum
__________________
ratamaster
  #6 (permalink)  
Antiguo 13/10/2005, 16:48
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola
Por lo que veo, estás intentando definri una nueva variable que tenga un nombre "programado", no escrito por tí. Parece que JS no te deja hacer eso.
¿No te valdría usar matrices? En lugar de province1= etc., province2= etc.,
usar province[1]= province[2]=...
Con eso salvas el problema.
Código PHP:
var sum=0;
var 
province = new Array();
function 
selectAsociado(){
sum++;
province[sum] = eval("document.form1.province" sum "[document.form1.province" sum ".selectedIndex].value"
__________________
Angel :cool:
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 18:36.