我有一个div列出所有上传的文件
$i = 0;
echo '
echo "
- ";
foreach($editorderdata['uploadedfiles'] as $row){
echo '
';echo '';
echo 'file_'.++$i.'';
echo '';
echo '';
echo '
';}
echo "
";echo "
这是在按下.removefile类元素时删除所选文件的代码
$(document).ready(function() {
$(".removefile").click(function(e) {
e.preventDefault();
var fileidvar = $(this).data('fileid');
if (confirm("Are you sure you want to remove selected file?")) {
$.ajax({
type: "POST",
url:'<?php echo base_url() ?>signup/removefile',
data:{ fileid: fileidvar },
dataType: 'json',
success: function (data) {
if(data.value){
alert(data.value);
$(this).closest("li").remove();
}
},
error:function(){
alert("Something went wrong, please try again.");
}
});
}
return false;
});
});
代码工作正常但我想要的是删除ajax成功的父li不工作..帮助?
解决方法:
你遇到的问题是你的成功处理程序中的$(this)不等于被点击的元素.试试这个:
$(".removefile").click(function(e) {
e.preventDefault();
var $btn = $(this); //
var fileidvar = $btn.data('fileid');
if (confirm("Are you sure you want to remove selected file?")) {
$.ajax({
type: "POST",
url:'<?php echo base_url() ?>signup/removefile',
data: { fileid: fileidvar },
dataType: 'json',
success: function (data) {
if (data.value) {
alert(data.value);
$btn.closest("li").remove(); //
}
},
error: function() {
alert("Something went wrong, please try again.");
}
});
}
return false;
});
标签:javascript,jquery,ajax
来源: https://codeday.me/bug/20190723/1508475.html