【发布时间】:2016-10-19 07:40:41
【问题描述】:
我有一张看起来类似于以下的表格.. 我希望在任何时候都显示 thead & tfoot .. :
<form method='post' id='frm1'>
<table cellpadding='0' cellspacing='0' border='0' id='logs' width='100%'>
<thead><tr id='thead'><th>Col1</th><th>Col2</th><th>Col3</th><th>Col4</th></tr></thead>
<tfoot><tr id='tfoot'><th>Col1</th><th>Col2</th><th>Col3</th><th>Col4</th></tr></tfoot>
<tbody class='fbody'>";
<tr id='empty'><td colspan='4'>empty results</td>
</tbody>
</table>
</form>
默认情况下,表格是空的。用户正在使用搜索字段来使用 ajax 查询数据库。结果被传回,我正在使用 $.each 并循环返回结果并使用以下命令添加到表中:
$('#logs tr:last').before('<tr><td>' + td[0] + '</td><td>' + td[1] + '</td><td>' + td[2] + '</td><td>' + td[3] + '</td></tr>');
这似乎工作正常,但我遇到了一个问题..
如果返回结果我需要删除empty行,如果没有返回结果我需要显示empty行。
第一次搜索完成后,表格会显示其结果。如果我随后使用新条件进行搜索,则新结果将添加到表中,而不是替换原始结果,因此我最终得到一个显示第一个和第二个结果的表,当第二次搜索时,它应该只是第二个结果。
我试过了:
$("#logs").find('tr').slice(1,-1).remove()
这会清除显示正确的结果,但会留下空行并删除 tfoot。
知道如何让它工作吗?
谢谢
快速更新..
我正在调用 jquery / ajax 查找使用:
$('body').on('click', '#find', function(){
});
【问题讨论】:
-
试试这个 $("#logs").find("tbody").empty()
-
将之前的搜索值保留在表中。
标签: jquery html html-table