我一直在尝试使用jquery load()动态更新表,我遇到了一个问题。
使用load()将数据正确加载到我的表中。但是,当我尝试删除表的先前行然后调用load()(以获取新表行)时,它只是将新表行附加到旧表行的末尾。
我已经排除了从load()得到的响应包含以前的数据。在删除前面的行之后也会调用Load(),所以我不太确定我哪里出错了。
Chrome中的Inspect元素显示正确删除了表行,但是在调用load()之后,重新显示已删除的行。
Javascript / Jquery代码:
$("#quantity").change(function(){
if ($('.table_row_data').length > 0)
{
// if data exists, remove the rows then get the new ones
$.when($( ".table_row_data" ).remove()).then(updateTable());
}
else{
updateTable();
}
function updateTable()
{
//on change load data about prices if all other fields are set
$("#comparison").load("GetPrices.php?var1=" + $("#var1").val()
+ "&var2=" + $("#var2").val() + "&var3=" + $("#var3").val()
+ "&var4=" + $("#var5").val(), function()
{
//sort table when table is loaded
$("#myTable").tablesorter
({
// sort price low --> high by default
sortList: [[3,0]]
});
});
}
});
HTML表格
<table id="myTable" class="table table-bordered table-striped tablesorter" style="display: table;">
<thead>
<tr>
<th class="header">header_1</th>
<th class="header">header_2</th>
<th class="header">header_3</th>
<th class="header headerSortDown">header_4</th>
<th class="header">header_5</th>
</tr>
</thead>
<tbody id="comparison">
<tr class="table_row_data">
<td>title</td>
<td>aaa</td>
<td>aa</td>
<td>aa</td>
<td><a href="#" target="_blank"></a></td>
</tr>
<tr class="table_row_data">
<td>title</td>
<td>aaa</td>
<td>aa</td>
<td>aa</td>
<td><a href="#" target="_blank"></a></td>
</tr>
</tbody>
</table>