我有一个删除函数,用于删除服务器端数据表中的条目。目的是当我通过复选框选择多个项目并按删除时,会在我的函数被调用时出现加载屏幕。一旦正确删除了项目数量,加载就会逐渐消失。
但是,一旦所有项目被正确删除,加载屏幕都不会消失。我希望有人能看到我的错误。谢谢
Ajax代码
function deleteDocumentPrepare(){
var delCounter = 0;
if(checked!==null){
$('.loading').show();
$.each(checked, function(key, value) {
// console.log(checked.length);
deleteDocument(value,delCounter,checked.length);
delCounter++;
// console.log(delCounter);
});
}
}
function deleteDocument(input,current,total){
// console.log("current:"+current);
// console.log("total:"+total);
var id = input;
$.ajax({
method: "POST",
url: "<?php echo site_url('/Common/Check'); ?>",
success: function(data){
if("<?php echo $this->data['controller'];?>"=="Support"){
var url = '<?php echo site_url('Admin'.$this->data['controller'].'/Agent/Delete/'); ?>';
}else{
var url = '<?php echo site_url('Admin'.$this->data['controller'].'/Delete/'); ?>';
}
if(data==true){
$.ajax({
type:'POST',
url:url,
data:'id='+id,
beforeSend: function () {
// $('.loading').show();
},
success:function(result){
if(current==total){
// console.log("END");
$('.loading').fadeOut("slow");
checked=[];
table.draw();
}
}
});
}else{
window.location.href="<?php echo site_url('/');?>";
}
}
});
}
答案 0 :(得分:0)
出现此问题是因为元素索引与找到的元素长度不同,所以
if(current==total){}
您的代码中的这种情况始终为false
,因为lastIndex == length-1
。在这种情况下,条件必须是
if(current==total - 1){}