Javascript Jquery在附加和上载后隐藏和删除图像

Javascript Jquery在附加和上载后隐藏和删除图像,javascript,jquery,get,jquery-events,event-delegation,Javascript,Jquery,Get,Jquery Events,Event Delegation,我正在尝试隐藏和删除图像,这是上传后的附加代码 附加代码 $('#uploaded_images').append('<div class="container uploaded_image"> <input type="text" value="'+data['result']+'" name="uploaded_image_name[]" id="uploaded_image_name" hidden> <img class="img-thumbnail" w

我正在尝试隐藏和删除图像,这是上传后的附加代码

附加代码

 $('#uploaded_images').append('<div class="container uploaded_image"> <input type="text" value="'+data['result']+'" name="uploaded_image_name[]" id="uploaded_image_name" hidden> <img class="img-thumbnail" width="200" height="200" src="server/uploads/'+data['result']+'" /> <a  id="delete" href="index.php?image='+data['result']+'" class="btn btn-danger">'+data['result']+'</a> </div>');
出于某种原因,
$(this.hide()它不工作

我还想向delete.php?image=+data['result']+发送GET请求,以从文件中删除图像


有人有解决方案吗?

因为您的代码是唯一的,所以删除按钮是隐藏的。首先查找父div,在此父div隐藏之后,这是正常工作。 替换此

$(this).hide();

 $(this).parent('.uploaded_image').hide();

以下是隐藏/删除的工作小提琴:

要从服务器上载目录中删除文件,可以发送
delete.php?image=fileName

在delele.php中

$FileName = $_GET['image']
在PHP中使用函数infrade存储所需的文件名

$FileName = array('image1', 'image2', 'image3');
$Dash_Added = implode("-", $array);

echo $Dash_Added;
unlink()将允许您从上载目录中删除文件,如果您需要的话

unlink('server/uploads'.$FileName)
上载文件并将其存储到阵列

<input type="file" onchange="SelectFiles(this)" multiple/>
<input type="submit" onclick="UploadFiles(this)" value="Upload"/>


<script>

var allFileName = []

function SelectFiles(_this) {
  for (var i = 0; i < _this.files.length; i++) {
   allFileName.push(_this.files[i]);
  }
}

function UploadFiles() {
$.ajax({                 
  url:'haha.php',                 
  dataType:'json',                 
  type:'POST',                 
  cache:true,                 
  data: {                   
    file_names: allFileName                 
  },
  success: function(response) {

    }
  })
}

</script>

var allFileName=[]
函数SelectFiles(\u this){
对于(var i=0;i<\u this.files.length;i++){
allFileName.push(_this.files[i]);
}
}
函数UploadFiles(){
$.ajax({
url:'haha.php',
数据类型:'json',
类型:'POST',
是的,
数据:{
文件名:allFileName
},
成功:功能(响应){
}
})
}

希望这能有所帮助。

感谢您的解释,您能帮我发送删除图像的get请求吗?由于某些原因,它在纯html上工作,但在bootstrap上不工作,可能在某些方面存在冲突。我知道如何在php中删除,但是,您能帮助我在单击时将get请求发送到后端/删除页面而不重新加载当前页面吗?由于某些原因,它在纯html上工作,但在引导上不工作,可能在某些方面存在冲突。您只需要使用event.preventDefault()在您的函数上,它只需通过ajax将请求发送到后端,而无需重新加载页面。希望能有帮助。现在,在所有上传的图像之后,我需要发送到数据库
varid=$(this.attr('deleteimg');$.ajax({url:'test.php',数据类型:'json',类型:'get',缓存:true,数据:{id:id}
这是我需要通过另一个请求发送到db页面的删除代码,但在这种情况下,我需要将带有deleteimg的所有attr发送到数据库
var id=$(this.attr('deleteimg'))
因为这是图像名称所在的位置,您能帮忙吗?我需要将所有图像发送到一个字符串中我已经更新了我的答案。您需要将所有上传的图像存储在一个空数组中,并将该数组数据发送到后端php文件,对所有文件执行foreach循环,并将图像名称存储到数据库中。
unlink('server/uploads'.$FileName)
<input type="file" onchange="SelectFiles(this)" multiple/>
<input type="submit" onclick="UploadFiles(this)" value="Upload"/>


<script>

var allFileName = []

function SelectFiles(_this) {
  for (var i = 0; i < _this.files.length; i++) {
   allFileName.push(_this.files[i]);
  }
}

function UploadFiles() {
$.ajax({                 
  url:'haha.php',                 
  dataType:'json',                 
  type:'POST',                 
  cache:true,                 
  data: {                   
    file_names: allFileName                 
  },
  success: function(response) {

    }
  })
}

</script>