Foros del Web » Programando para Internet » Jquery »

Problema al seleccionar class después de cargar a traves de .html(msj)

Estas en el tema de Problema al seleccionar class después de cargar a traves de .html(msj) en el foro de Jquery en Foros del Web. Hola buenas... Estoy haciendo una aplicación web en la que a través de una consulta a la bd con $ajax({}); cargo la respuesta en un ...
  #1 (permalink)  
Antiguo 16/12/2013, 22:07
Avatar de ricky0123456  
Fecha de Ingreso: septiembre-2012
Ubicación: Caracas
Mensajes: 25
Antigüedad: 12 años, 3 meses
Puntos: 0
Exclamación [AYUDA!!!] Problema al seleccionar class después de cargar a traves de .html(msj)

Hola buenas...
Estoy haciendo una aplicación web en la que a través de una consulta a la bd con $ajax({}); cargo la respuesta en un div a través de un .html(msj) y quisiera saber como puedo acceder a los id y class de la carga realizada.. pues no me lo permite..


Gracias de antemano
Saludos

el codigo de la consulta php

Código PHP:
Ver original
  1. foreach ($pro as $pd ){
  2.     $img = $pd->imagen;
  3.     $nom = $pd->producto;
  4.     $pre = $pd->precio;
  5.                    
  6. $html.= '<div class="containerProducto">
  7.       <img src="archivos/producto/'.$img.'" width="170"/>
  8.       <div class="nombrePro">'.$nom.'</div>
  9.      <div class="precio">'.$pre.'</div>
  10.      </div>';
  11. }      
  12. echo $html;


codigo de la peticion jquery
Código Javascript:
Ver original
  1. $.ajax({// funcion para validar si el nommbre de la cat existe en la bd
  2.        url:'/frontend/inicio/selectedSubCategoriaTienda',
  3.        type:'POST',
  4.        data: {'hash':url},
  5.        success:function(msj){
  6.        $('.containerArticulosTienda').html(msj)
  7.                    
  8.        }   
  9. });

Última edición por ricky0123456; 16/12/2013 a las 22:27
  #2 (permalink)  
Antiguo 17/12/2013, 05:34
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 11 meses
Puntos: 206
Respuesta: Problema al seleccionar class después de cargar a traves de .html(msj)

El motivo de que no hayas accedido a esos elementos es muy fácil:
No has accedido a esos elementos, tu código ni siquiera lo intenta.
  #3 (permalink)  
Antiguo 17/12/2013, 05:45
Avatar de ricky0123456  
Fecha de Ingreso: septiembre-2012
Ubicación: Caracas
Mensajes: 25
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema al seleccionar class después de cargar a traves de .html(msj)

hola marlanga, gracias por tu respuestas,..

No es que no lo intente es que no lo he adjuntado, lo unico que he hecho es explicar el probklema y presentar el codigo..


Código Javascript:
Ver original
  1. $('.nombrePro').click(function(){
  2.         pruebaResulatdo = $(this).val()
  3.         alert(pruebaResulatdo)
  4.        
  5.     });
  #4 (permalink)  
Antiguo 17/12/2013, 05:49
Avatar de ricky0123456  
Fecha de Ingreso: septiembre-2012
Ubicación: Caracas
Mensajes: 25
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema al seleccionar class después de cargar a traves de .html(msj)

o incluso así, para ver si nos actua o no el click..
Código Javascript:
Ver original
  1. $('.nombrePro').click(function(){
  2.     alert('Si actua')
  3.     });
  #5 (permalink)  
Antiguo 17/12/2013, 06:07
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 11 meses
Puntos: 206
Respuesta: Problema al seleccionar class después de cargar a traves de .html(msj)

Cuando ejecutas ese código, el elemento al que haces referencia NO EXISTE, así que no hará nada.

Una de dos, o ejecutas ese código cuando exista el elemento (cuando lo metas en el DOM usando el success del ajax), o mejor todavía, usa eventos delegados
Código Javascript:
Ver original
  1. $('body').on("click",".nombrePro",function(){
  2.     alert('Si actua')
  3.     });

Los eventos delegados funcionan con elementos que no existen porque el BODY es el que recoge el evento "click". Pero dentro del evento "click", se puede saber sobre qué elemento se hizo realmente el "click", ya que en realidad, los eventos se trasnmiten hacia arriba, hacia el padre, en el DOM de la página. Es decir, un botón dentro de un div dentro del body, si aprietas el botón se dispara el evento click del botón. Luego se dispara el evento click del div, si lo tuviera, y por último se dispara el evento click del body, si lo tuviera.
  #6 (permalink)  
Antiguo 17/12/2013, 06:16
Avatar de ricky0123456  
Fecha de Ingreso: septiembre-2012
Ubicación: Caracas
Mensajes: 25
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema al seleccionar class después de cargar a traves de .html(msj)

Buenisimo Marlanga, excelente explicación.. pero si tengo mas de un elemento como debo de hacerlo???.. gracias
  #7 (permalink)  
Antiguo 17/12/2013, 07:00
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 11 meses
Puntos: 206
Respuesta: Problema al seleccionar class después de cargar a traves de .html(msj)

De la misma forma.
  #8 (permalink)  
Antiguo 17/12/2013, 08:51
Avatar de ricky0123456  
Fecha de Ingreso: septiembre-2012
Ubicación: Caracas
Mensajes: 25
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema al seleccionar class después de cargar a traves de .html(msj)

gracias amigo.. me ha sido de excelente ayuda

Etiquetas: class, traves
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 13:24.