我有一个针对表单提交的ajax发布请求,其中我根据控制器返回的值来操作页面,但是我的问题是,每当提交表单时,我都需要删除上一个请求中的值。例如,我提交表单,然后发生这种情况,如果第二次提交表单,我会在页面上添加一些文本,我需要从上次删除这些值,然后在页面上添加新内容。
代码如下:
function ajaxPost(){
// DO POST
$.ajax({
type : "POST",
url : "/search",
dataType: "json",
data : {
'marcaId': $('#marcaId').val(),
'modelId': $('#modelId').val(),
'pretDeLa': $('#pretDeLa').val(),
'pretPanaLa': $('#pretPanaLa').val(),
'anFabrDeLa' : $('#anFabrDeLa').val(),
'anFabrPanaLa' : $('#anFabrPanaLa').val(),
'orasParam' : $('#orasParam').val()
},
success : function(data) {
console.log(data);
for(var i=0; i<data.length; i++){
$('.row.autovitElements').append("<div class='col-sm-3 elementAutovit'>" + "<div class='card' style='width:20rem;'>" +
"<img class='card-img-top' src=" + JSON.stringify(data[i].img) + "alt='Card image cap'>" +
"<div class='card-body text-center'>" +
"<p class='card-text text-center' style='color: black'>" +data[i].title+ "</p>" +
"<ul class='list-group list-group-flush'>" +
"<li class='list-group-item'>" +
"<div class='row'>" +
"<div class='col-md-6'>" +
"<i class='material-icons'></i><span>"+ data[i].price +"</span>" +
"</div>" +
"<div class='col-md-6'>" +
"<i class='material-icons'></i><span>"+data[i].city+"</span>" +
"</div>" +
"</div>" +
"</li>" +
"</ul>" +
"<button href=''#' class='btn btn-danger'>Save</button>" +
"</div>" +
"</div> " +
"</div> ");
}
})
我尝试过使用$('.row.autovitElements').hide();
,但无法正常工作:(
答案 0 :(得分:1)
for(var i=0; i<data.length; i++){
$('.row.autovitElements').append("<div class='col-sm-3 elementAutovit'>" + ...
要为ajax结果附加的元素是elementAutovit
,它们是.row.autovitElements
元素的子元素。因此,要“重置”结果,您将删除所有附加的元素,可以通过以下方式完成:
$('.row.autovitElements .elementAutovit').remove()
将删除所有这些特定元素。或者,如果您要保留的容器中没有其他东西,则可以将其清空
$('.row.autovitElements').empty()