jquery标签不是由$ .post生成的

时间:2014-03-03 10:34:20

标签: javascript php jquery html twitter-bootstrap

在我的页面上我以异步方式加载表格内容:

$.post( "test.php", function( data ) {
     $('#myTableBody').html(data);
     //refresh the content by jQuery 
});

进入下表 - 正文:

<table>
 <thead>
   ...
 </thead>
 <tbody id='myTableBody'>
   <!--No Content before loading it -->
 </tbody>
</table>

test.php包含普通表格式的table-body-content,如<tr><td></td></tr>jQuery - 和Twitter-Bootstrap - 弹出窗口或对话框的标签。 (这些标签的代码不是必需的,因为我认为应该有一种通过一个通用标签刷新jQuery的方法吗?)

在静态页面上加载jQuery - 标记被csshtml替换 - 当device-ready事件出现时由jQuery定义的标记。

但现在我的问题是,如何对jQuery/ js/ twitter-bootstrap说,有新的内容。如何触发重新替换它?

3 个答案:

答案 0 :(得分:1)

如果您想查找要加载到表格中的新内容,我认为您应该查看长轮询。

基本上你所做的是不断要求新的内容加载到表中,通过在一段时间之后相互执行多个AJAX请求,但不是立即从服务器返回响应,而是延迟响应直到超时或者有新的内容发送给客户。

看一下这里给出的例子:

http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery

如果您想要快速更新,可以查看Socket.IO http://socket.io/

答案 1 :(得分:1)

使用ready(),这样DOM就可以像

那样进行操作了
jQuery(function($){
    $.post( "test.php", function( data ) {
         $('#myTableBody').html(data);
         //refresh the content by jQuery 
    });
});

答案 2 :(得分:0)

您可以使用.append()函数在页面上放置新内容。

在Ajax函数中:

$.post( "test.php", function( data ) {
     $("#myTableBody").append(data);
});