如何使用jQuery更改HTML表的行

时间:2010-10-06 09:14:38

标签: jquery

我有一个HTML表格,我需要更改它的内容。

 <div id='adf'>
   <table id='tbl1' runat='server' >
     <tr><td></td></tr>
   </table>
 </div>

我正在使用jQuery Ajax更改内容,问题是我之后访问了同名的表。所以我正在更改HTML内容并插入新表的HTML将添加一个新表。所以我需要删除表行并将结果添加到表中。所以内容没有变化。提前谢谢。

4 个答案:

答案 0 :(得分:2)

如果我理解正确,请在运行ajax调用后使用html()函数更改内容。

作为效率提示,请确保将所有更改加载到字符串中,并在结尾处调用html()一次。否则,您会发现您的网页速度非常慢。

如果您只是添加新行,请使用append()。 http://api.jquery.com/append/

表格具有相同的名称并不重要。只需通过标识符抓住它。

答案 1 :(得分:1)

 $('#tbl1').html($('#tbl1').html() + "<tr><td>this is new row</td></tr>")

答案 2 :(得分:0)

答案 3 :(得分:0)

您需要使用表格的ClientID,因为它是runat="server"

$.get('ajax/tbl1.html', function(data) {
     $('#' + <%= tbl1.ClientID %>).html(data);
});

tbl1.html将包含替换行。您可以将其更改为aspx页面或php或返回html的Web服务。

以下是一个示例JQuery AJAX调用,过去对我有用:

            jQuery.ajax({ type: "POST",
                url: "MyWebService.asmx/GetHtml",
                data: "{'Id' :'" + tableId + "'}", //may not be necessary in your case
                dataType: "json",
                contentType: 'application/json; charset=utf-8',
                success: function(json) {
                    var result = eval("(" + json.d + ")");
                    jQuery('#' + <%= tbl1.ClientID %>).html(result.value);
                }
             });

请注意使用JSON和调用eval。