Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/12/2012, 04:47
shungoo
 
Fecha de Ingreso: diciembre-2012
Mensajes: 2
Antigüedad: 11 años, 4 meses
Puntos: 0
Filtrando datos json

Hola, hoy os escribo por primera vez aunque ando por aquí de vez en cuando.

Estoy haciendo una webapp en la que json recibe datos de php-mysql.

Tengo el esquema básico de artículos y familias de artículos para que se escoja una familia y aparezcan los artículos de esa familia.

El tema es que cuando pincho en la familia me reconoce donde he pinchado y va a artículos para filtrarlo. PERO en vez de usarme sólo la familia donde he pinchado me añade al filtro todas las familias hacia abajo desde donde he pinchado.
por ejemplo si hay 4 familias y pincho en la segunda me filtrará mostrándome los articulos de las familias 2,3 y 4.

Sabrían decirme donde está el error?

Os pongo el código que uso en las familias:

Código:
$.ajax({
   type:'GET',
   url:'familias_encodeflex.php',
   dataType:'json',
   success: function(data){
      $.each(data, function(index){
         var id_familia = data[index].id_familia;
         var familia = data[index].familia;
         var foto = data[index].foto;
         $("#listadofamilias").append('<li>'+'<a href="#articulos">'+'<img src="img/articulos/'+foto+'"/>'+'<h3>'+familia+'<input name="id_varfam" type="hidden" id="varfami" value="'+id_familia+'"></h3>'+'</a></li>');
         $('#listadofamilias li').on('click', function(){
            $id_fam = id_familia;
                 articulos($id_fam);


         });
      })
   $('#listadofamilias').listview('refresh');
   }
   

});
y el que uso en los artículos:

Código:
function articulos(id){
$.ajax({
   type:'GET',
   url:'articulos_encodeflex.php?varfami=' + id,
   dataType:'json',
   success: function(data){
      $.each(data, function(index2){
         var id_articulo = data[index2].id_articulo;
         var articulo = data[index2].articulo;
         var precio = data[index2].precio;
         var familia = data[index2].familia;
         var foto = data[index2].foto;
         var descripcion = data[index2].descripcion;
         $("#listadoarticulos").append('<li>'+'<a class="viewItem" href="#detalle">'+'<img src="img/articulos/'+foto+'"/>'+'<h3>'+familia+articulo+'<span class="izqper">'+precio+' €</span>'+'</h3>'+'<input name="id_varart" type="hidden" value="'+id_articulo+'"><a  href="#carrito"  data-theme="e" data-icon="plus" data-rel="dialog" data-transition="slideup">'+'</li>');
         
         });
      })
   $('#listadoarticulos').listview('refresh');
   }
   

});
}
Supongo que es una tontería, en particular creo que habría que añadirle la función articulos al append pero estoy dándole vueltas al asunto y no soy capaz.
Sabeis como solucionarlo?

muchas gracias