我想清除ajax搜索显示的所有搜索结果,例如当用户键入下一个查询时它将对其进行更新。
$(document).ready(function(){
var text;
$("#button").on('click',function (e) {
e.preventDefault();
var q=$("#q").val();
$.ajax({
url: "/search",
data: {q:q},
type: "GET",
dataType : "json",
success: function(result) {
var event_data = '';
for (var i = 0; i < result.length; i++) {
event_data += '<tr>';
event_data += '<td>' + '<img src=' +result[i]['video']['thumbnail_src']+ '></img>' +'</td>';
event_data += '<td>' +result[i]['video']['title']+'</td>';
event_data += '<td>' +result[i]['video']['duration']+ '</td>';
event_data += '<td>' + '<a href' +result[i]['video']['url']+ '>'+ "Download" +'</a>' +'</td>';
event_data += '</tr>';
} $("#list_table_json").append(event_data);
},
error: function(jqxhr, status, exception) {
alert('Exception:', exception);
},
always: function( xhr, status ) {
alert( "The request is complete!" );
}
});
});
});
这是我的表格的html文件,我在其中附加了ajax成功的结果,你们让我知道另一种方法。我想清除以前的结果并更新新结果。
搜索<table class="table table-responsive table-hover table-bordered" id="list_table_json">
<thead>
<tr>
<th>Thumbnail</th>
<th>Title</th>
<th>Duration</th>
<th>Download</th>
</tr>
</thead>
答案 0 :(得分:0)
在success
处理程序的开头,如果要保留第一个tr
(标题)并删除其余数据,请使用下面的 >
$("#list_table_json").find("tr:gt(0)").remove();
,或者如果您要删除所有内容,请使用
$("#list_table_json").empty();
或另一种删除所有内容的方法
$("#list_table_json").html('');
如何使用?
success: function(result) {
$("#list_table_json").find("tr:gt(0)").remove();
var event_data = '';