Ok, voy a poner un código simple y comprensible:
Este sería un index.php básico:
Código PHP:
Ver original<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="jquery-1.6.1.js" type="text/javascript"></script>
<script src="main.js" type="text/javascript"></script>
<title></title>
</head>
<body>
<p>ESTO ES LA TABLA DE PRUEBAS</p>
<table border="1" id="pruebas">
<?php
echo "<tr>
<td>Campo1</td>
<td>Campo2</td>
<td>Campo3</td>
<td>Campo4</td>
</tr>
<tr class='p'>
<td>Uno</td>
<td>XXXX</td>
<td>XXXX</td>
<td id='0'>0</td>
</tr>
<tr class='p'>
<td>Dos</td>
<td>XXXX</td>
<td>XXXX</td>
<td id='1'>0</td>
</tr>
<tr class='p'>
<td>XXXX</td>
<td>XXXX</td>
<td>XXXX</td>
<td id='2'>0</td>
</tr>";
?>
</table>
</body>
</html>
Luego el Javascript de carga:
Código Javascript
:
Ver original$(document).ready(function(){
setInterval("sumarUno()", 1000);
setInterval("agregarFila()", 5000);
});
function sumarUno(){
var c = $('tr.p');
for (var i= 0; i < c.length; i++){
var id = "#" + i;
var campo = $(id);
var valor = parseInt(campo.text()) + 1;
campo.text(valor);
}
}
function agregarFila(){
$.ajax({
url: 'pruebas.php',
success:function(html){
$('#pruebas').append(html);
},
error:function(err){
alert("ERROR:" + err);
}
});
}
Como ven, cada un segundo le sumo uno al Campo4, y cada 5 segundos pido nuevas filas y las agrego a la tabla html.
El problema es que las nuevas filas insertadas en la tabla no son reconocidas por JQuery la siguiente vez que recorra las mismas, en la función 'sumarUno()'.