Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] usar argumento en funcion, lo toma literal

Estas en el tema de usar argumento en funcion, lo toma literal en el foro de Jquery en Foros del Web. hola, ya busque pero no doy con lo que me pasa, a ver si ustedes saben o ya les a pasado. tengo una funcion: @import ...
  #1 (permalink)  
Antiguo 08/05/2013, 12:02
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
usar argumento en funcion, lo toma literal

hola, ya busque pero no doy con lo que me pasa, a ver si ustedes saben o ya les a pasado.

tengo una funcion:

Código Javascript:
Ver original
  1. jQuery.extend({
  2. getValues: function(page,param,index,field) {
  3.   var result = null;
  4.   $.ajax({
  5.     //bla bla bla
  6.     succes: function(data){
  7.       result = data.rows[index].field;
  8.     }
  9.   });
  10.   return result;
  11. }
  12. });

la cual invoco:

Código Javascript:
Ver original
  1. mivariable = $.getValues('script_get',id,0,'categoria');

el caso es que se supone que yo paso field como argumento con valor categoria no?

function(page,param,index,field)
getValues('script_get',id,0,'categoria');

pues resulta que la funcion me esta tomando literal el argumento, en esta parte:

result = data.rows[index].field;

por que si yo hago una prueba cambiando:

result = data.rows[index].categoria;

obtengo el resultado que necesito

no se como hacer para que la instruccion sepa que tiene que tomar el valor de field no la palabra field



habra una manera de que se entere o decirle a la funcion que field lleva un valor y que lo debe tomar ???

gracias
  #2 (permalink)  
Antiguo 08/05/2013, 14:26
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: usar argumento en funcion, lo toma literal

Resulta que el asunto es por partes:

antes
Código Javascript:
Ver original
  1. result = data.rows[index].field;

ahora
Código Javascript:
Ver original
  1. result = data.rows[index];
  2. result = result[field];

y funciona
  #3 (permalink)  
Antiguo 08/05/2013, 15:20
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
No es necesario separarlo, pues llamarlo junto.

data.rows[index][field]

lo importante es la notación con []
  #4 (permalink)  
Antiguo 09/05/2013, 07:43
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: usar argumento en funcion, lo toma literal

es cierto alexg88, gracias, saludos!

Etiquetas: ajax, funcion, javascript, toma, usar
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 17:59.