我的标记中有以下表格: -
<table id="tablelist" border="1">
<thead>
<tr>
</tr>
</thead>
<tbody></tbody>
</table>
我正在使用以下Java脚本构建上表,当用户单击链接时将触发该脚本: -
function getprocesslist(result) {
$('#tablelist tbody').remove();
var str = 'Total Number Of Processes:- ' + result.total.toString();
$('#total').text(str.toString());
var str1 = '<tr><th>' + 'Process Name' + '</th><th>' + 'Process Requestor ID' + '</th><th>' + 'Process State' + ' </th><th>' + 'Process Start Date' + ' </th><th>' + 'Process Due Date' + ' </th></tr>';
$('#tablelist tr:last').after(str1);
$.each(result.data, function (key, val) {
var str2 = '<tr><td>' + val.name + '</td><td>' + val.requesterId + '</td><td>' + val.state + '</td><td>' + val.startedTime + '</td><td>' + val.due + '</td></tr>';
$('#tablelist tr:last').after(str2);
});
}
但问题是,当用户点击链接上的多个时间时,新数据将显示在旧表下,而不是删除旧数据。我认为我的代码的问题是,在第一个碰撞中,<tbody></tbody>
被移除,我不能使用Jquery再次引用它?关于如何解决这个问题的任何想法?
BR
答案 0 :(得分:2)
您正在删除tbody,然后将所有内容添加到表头。相反,清空头部和身体并将内容附加到正确的位置:
function getprocesslist(result) {
$('#tablelist tbody, #tablelist thead').empty();
var str = 'Total Number Of Processes:- ' + result.total.toString();
$('#total').text(str.toString());
var str1 = '<tr><th>' + 'Process Name' + '</th><th>' + 'Process Requestor ID' + '</th><th>' + 'Process State' + ' </th><th>' + 'Process Start Date' + ' </th><th>' + 'Process Due Date' + ' </th></tr>';
$('#tablelist thead').append(str1);
$.each(result.data, function (key, val) {
var str2 = '<tr><td>' + val.name + '</td><td>' + val.requesterId + '</td><td>' + val.state + '</td><td>' + val.startedTime + '</td><td>' + val.due + '</td></tr>';
$('#tablelist tbody').append(str2);
});
}
答案 1 :(得分:1)
再次添加tbody。
$('#tablelist').append('<tbody></tbody>');