Foros del Web » Programando para Internet » Jquery »

filtro con grep en aun array asociativo

Estas en el tema de filtro con grep en aun array asociativo en el foro de Jquery en Foros del Web. Hola amigos estoy llenando un array con json y ya tengo un buscador de registros en base a una columna este mas o menos mi ...
  #1 (permalink)  
Antiguo 03/09/2012, 16:48
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta filtro con grep en aun array asociativo

Hola amigos estoy llenando un array con json
y ya tengo un buscador de registros en base a una columna
este mas o menos mi array


var data= [
{"id" : "1", "cuenta":"333", "surname" : "a surname"},
{"id" : "2", "cuenta":"5555", "surname" : "b surname"},
{"id" : "3", "cuenta":"6677", "surname" : "c surname"}
]





Código Javascript:
Ver original
  1. data2 = jQuery.grep(data, function(n, i)//creamos un array temporal con los datos que concuerden con la busqueda
  2.                 {                  
  3.                     buscartx = texto.toLowerCase();//convertimos a minusculas la palabra solicitada
  4.                     //nota: stripVowelAccent() es una funcion que remplaza los acentos
  5.                     buscartxt = stripVowelAccent(buscartx);//remplazamos los acentos de la palabra
  6.                     //------------------------------------
  7.                     var patron = new RegExp(buscartxt, "gi");//creamos un patron de busqueda                   
  8.                     //aqui se indica en que columna se debe realizar la busqueda n.cuenta.toLowerCase()
  9.                     //recordemos que este campo viene oculto en el submenu del filtro de busqueda
  10.                     var filtroselec = jQuery('#selFiltroCampo').val();
  11.                     var cadena = n.cuenta.toLowerCase();//convertimos los titulos en minusculas, que se encuentre en data que es el array original
  12.                     cadena = stripVowelAccent(cadena);//remplazamos los acentos para que la busqueda sea mas efectiva al comparar
  13.                     return cadena.match(patron);//verificamos si cumple con el patron de busqueda, si concuerda se queda si no se descarta                 
  14.                 });

todo va bien pero resulta que debo hacer la busqueda dinamica en disitinta columna definido por el usuario este seria mi form de busqueda



Shot at 2012-09-03



Shot at 2012-09-03

la parte donde debo cambiar la columna

es en esta linea

var cadena = n.cuenta.toLowerCase();

cuenta es uno de las columnas del array, como puedo hacerlo dinamico con alguna otra columna,

trate de hacer algo como esto pero me marca error de tipo de dato, me guie de este post http://stackoverflow.com/questions/1...-is-a-variable

var = valorDinamico = 'otrocampo'
var cadena = n[valorDinamico ].toLowerCase();

o estoy haciendo algo mal saludos

espero sus comentarios
saludos y gracias
__________________
gerardo

Última edición por chalchis; 03/09/2012 a las 19:03
  #2 (permalink)  
Antiguo 03/09/2012, 20:29
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Respuesta: filtro con grep en aun array asociativo

bueno tenia un error en otra funcion que vaciaba el campo donde mando la columna donde se desea buscar es decir todo estaba bien

asi

var filtroselec = jQuery('#selFiltroCampo').val();
var cadena = n[filtroselec ].toLowerCase();//convertimos los titulos en minusculas, que se encuentre en data que es el array original
cadena = stripVowelAccent(cadena);

saludos
__________________
gerardo

Última edición por chalchis; 04/09/2012 a las 08:45

Etiquetas: Ninguno
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 00:29.