如何将ajax响应附加到

时间:2012-08-24 15:24:01

标签: php ajax html-table

我有一个数据来自数据库的表,该表有很多<tr>个标记。对于每个<tr>标记,我正在修复“+”符号,并希望通过单击此“+”从Ajax检索响应。你能告诉我如何使用Ajax实现这个目标吗?

这是我的“+”即将来临的表格代码:

<table id=\"table_$author_id\" width=\"100%\">
                    <TR bgColor=#F5F5F5>
                        <TD class=normaltext hight=35 align=center><div id=\"test_$author_id\" class=\"test\" style=\"display:inline\">+</div><div id=\"aid_$author_id\" class=\"aid\" style=\"display:inline\">$author_id</div></TD>
                        <TD class=normaltext align=left>$author_name</TD>
                        <TD class=normaltext align=center><a href=\"author_edit.php?aid=$author_id&mode=edit\">Edit</a></TD>
                        <TD class=normaltext align=center><a href=\"author_finance.php?aid=$author_id\">Edit</a></TD>
                        <TD class=normaltext align=center><a href=\"author_list_admin.php?aid=$author_id&mode=delete\">Delete</a></TD>
                    </TR>
                    <table>

我为ajax尝试了这段代码:

$(document).ready(function() {

        $('.test').click(function(){

            var URL = 'bangkokbooks/php/admin/author_ajax_detail.php';
            console.log(this.id);
            var ID = this.id;
            var arr= ID.split('_');
            var author_id=arr[1];
            console.log(author_id);

            $.ajax({
                                type: "POST",
                                url: "author_ajax_detail.php",
                                data: "&author_id="+author_id,
                                success: function(html){                

                                            console.log(html);
                                            $('#table_'+author_id).append(html); 
                                      }
                                }); 

        });


    });

但通过这种方式,我的对齐非常令人不安。 现在请告诉我如何在每个<tr>标记下面添加回复,或者告诉我另一种方法。

2 个答案:

答案 0 :(得分:0)

在您的<tr>标记中添加类或ID,并使用jQuery将新内容附加到<tr>。这是最简单的方法。

答案 1 :(得分:0)

您的HTML不正确:

<table id="table_authorId" width="100%">
                    <TR bgColor='#F5F5F5'>
                        <TD class='normaltext' height=35 align='center'><div id="test_$author_id" class="test" style="display:inline">+</div><div id="aid_$author_id" class="aid" style="display:inline">$author_id</div></TD>
                        <TD class=normaltext align=left>$author_name</TD>
                        <TD class=normaltext align=center><a href="author_edit.php?aid=$author_id&mode=edit">Edit</a></TD>
                        <TD class=normaltext align=center><a href="author_finance.php?aid=$author_id">Edit</a></TD>
                        <TD class=normaltext align=center><a href="author_list_admin.php?aid=$author_id&mode=delete">Delete</a></TD>
                    </TR>
                    <table>​

根据您的要求添加php引号。并添加以下jQuery.ajax成功回调:

jQuery.ajax({
   ........
     success: function(response){
          ......
          $('#table_authorId').append("<tr><td colspan =5>"+response+"</td></tr>");​
          .......................
     }
 });

以下是常量数据的示例:http://jsfiddle.net/aDcQm/1/