Tengo una tabla en la cual tengo un evento que filtra la información con la ayuda de XMLHttpRequest, JSP y AJAX. Funciona con un evento onkeyup escribiendo un valor en un campo de texto y con el AJAX va a otra pagina .jsp que me realiza una consulta y me trae la tabla con los registros que contienen en alguna parte de su nombre el valor escrito.
El problema viene cuando quiero obtener el valor de una celda en especifico al dar click sobre ella, la primera vez que se carga la tabla el metodo jQuery sí lo obtiene, pero cuando filtro la tabla ya no me trabaja el evento que obtiene el valor
No se que esté realizando mal o que debo de hacer. Muchas Gracias
Aquí abajo dejo el código de las paginas ya mencionadas.
-------
Este evento es el que va a la pagina cuentasTable.jsp que me devuelve la tabla ya filtrada y la coloca dentro del DIV que tiene el ID "tableCuentas"
Código HTML:
<script language="JavaScript" type="text/javascript"> // creando objeto XMLHttpRequest de Ajax var obXHR; try { obXHR=new XMLHttpRequest(); } catch(err) { try { obXHR=new ActiveXObject("Msxml2.XMLHTTP"); } catch(err) { try { obXHR=new ActiveXObject("Microsoft.XMLHTTP"); } catch(err) { obXHR=false; } } } function cargar(dep) { var obDiv = document.getElementById("tableCuentas"); obXHR.open("GET", "cuentasTable.jsp?valBus="+dep); obXHR.onreadystatechange = function() { if (obXHR.readyState === 4 && obXHR.status === 200) { obDiv.innerHTML=obXHR.responseText; } } obXHR.send(null); } </script>
Despues con este obtengo el valor de la celda a la que se le dio click.
Código HTML:
<script language="javaScript" type="text/javascript"> $(document).ready(function(){ $("#tablaCuentas2 tbody tr td").click(function(){ alert($(this).text()); }); }); </script>
Y esta es mi tabla que viene del JSP
Código HTML:
<table id="tablaCuentas2" border='1' width='100%' > <thead> <tr> <td>Numero</td> <td>Cuenta</td> <td>Nombre</td> </tr> </thead> <tbody> <% try{ String sql; String valorBusqueda=null; valorBusqueda=request.getParameter("valBus"); if(valorBusqueda==null){ sql="SELECT * FROM CuentaEnc;"; } else{ sql="SELECT * FROM CuentaEnc WHERE Nombre LIKE '%"+valorBusqueda+"%'"; } BD bd = new BD(); bd.conexionMet(); ResultSet rs = bd.consultaBD(sql); while(rs.next()){ out.println("<tr>"); out.println("<td>"+rs.getInt("IdCuenta")+"</td>"); out.println("<td>"+rs.getString("Cuenta")+"</td>"); out.println("<td>"+rs.getString("Nombre")+"</td>"); out.println("</tr>"); } bd.desconectar(); } catch(Exception ex){ } %> </tbody> </table>