我正在使用此Ajax脚本上传文件。所有文件都在div .myFiles
中输出
上载新文件时,我成功使用$(".myFiles").load(" .myFiles");
来立即看到添加新文件的结果。但是当我查看dom时,就是这样创建的:
<div class="myFiles">
<div class="myFiles">
</div>
</div>
如何防止在已经存在的.myFiles
中创建.myFiles
div?
这是我的ajax:
function ajax_file_upload(file_obj) {
if(file_obj != undefined) {
var form_data = new FormData();
form_data.append('file', file_obj);
$.ajax({
type: 'POST',
url: '',
contentType: false,
processData: false,
data: form_data,
beforeSend: function () {
$(".uploadspinner").show();
},
success:function(response) {
//$(".echo").html(response);
$('#selectfile').val('');
$(".myFiles").load(" .myFiles");
$(".uploadspinner").hide();
$(".uploadarea").hide();
}
});
}
}
答案 0 :(得分:2)
您可以使用.append()函数代替加载。
代替$(“。myFiles”)。load(“ .myFiles”) 使用$(“。myFiles”)。append(“”);
答案 1 :(得分:1)
这不是大问题,但是如果您不希望同一div出现两次,那么我想说这就是您的html:
<div class="myFiles">
<div class="outputFiles">
stuff goes here
</div>
</div>
并在您的success
中使用它:
success:function(response) {
//$(".echo").html(response);
$('#selectfile').val('');
$(".myFiles").load(" .outputFiles");
***
}
结果:您只有1个.myFiles
格和1个.outputFiles
格