jQuery sobre elementos generados

Iniciado por Draco Heroicus, 28 Diciembre 2012, 09:14 AM

0 Miembros y 1 Visitante están viendo este tema.

Draco Heroicus

Hola, he generado una tabla en base a los datos y metadatos de una consulta SQL, uso JQuery y JSP, la cosa es la siguiente.

Puedo generar la tabla con cualquier consulta en automático sin problemas, el problema viene cuando quiero capurar un click sobre un <tr> para que me de su html


<table>
  <thead>
     <tr>
       <th>idzona</th>
       <th>nombre</th>
     </tr>
   </thead>
<tbody>
   <tr>
      <td>1</td>
      <td>Bosques</td>
   </tr>
</tbody>
</table>


La tabla la genero ve un JSON por jQuery.ajax(), y es un jQuery plugin que hize.

el succes de la consulta ajax es este

success:function(data){
                       
                      var bodyRow;
                      jQuery.each(data.cols,function(){
                          objTHeadRow.append("<th>"+this.name+"</th>");
                      });
                      jQuery.each(data.rows,function(){ //Rows del tbody
                          bodyRow="<tr>";
                          //alert(this);
                          jQuery.each(this.c,function(){
                              bodyRow+="<td>"+this.val+"</td>";
                          });
                          bodyRow+="</tr>";
                          objTBody.append(bodyRow);
                      });
                    }
                });

#!drvy

#1
Buenas,

Supongo que tu problema es que jQuery no reconoce el click puesto que es una carga ajax. Puedes utilizar la funcion on() para detectar el click incluso aunque este se cargue despues de un evento ajax... antes se utilizaba .live() pero ha sido marcada como obsoleta apartir de jQuery 1.7.

Código (javascript) [Seleccionar]
$("#idtabla").on("click", "tr", function() {
  alert(this);
});


http://api.jquery.com/on/


Saludos