Jquery 在ajax调用后无法删除元素
我有这个剧本:Jquery 在ajax调用后无法删除元素,jquery,ajax,phalcon,Jquery,Ajax,Phalcon,我有这个剧本: <script type="text/javascript"> $(document).ready(function(){ $(document).on('click','.remove',function(e){ // e.preventDefault(); var data = $(this).data('file'); $.ajax({ type:'POST',
<script type="text/javascript">
$(document).ready(function(){
$(document).on('click','.remove',function(e){
// e.preventDefault();
var data = $(this).data('file');
$.ajax({
type:'POST',
url:'/backup/delete',
data:'fileName='+data,
success: function(data){
$(this).parents('tr').remove();
}
},'json');
});
});
$(文档).ready(函数(){
$(文档).on('click','remove',函数(e){
//e.预防违约();
var data=$(this.data('file');
$.ajax({
类型:'POST',
url:“/backup/delete”,
数据:'fileName='+数据,
成功:功能(数据){
$(this.parents('tr').remove();
}
}“json”);
});
});
和文件部分:
<tr>
<td>adif20150331133844.adi</td>
<td style="width: 2em"><span class="remove link" data-file="adif20150331133844.adi"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></span></td>
<td style="width: 2em"><span class="restore link" data-file="adif20150331133844.adi"><span class="glyphicon glyphicon-repeat" aria-hidden="true"></span></span></td>
</tr>
adif20150331133844.adi
任务是在删除文件后删除tr部分。我不能让它工作。文件被删除响应为200,可以,但是remove()不起作用,即使我在ajax中将success替换为complete。可能是什么?将此作为一个变量,并使用它
$(document).ready(function(){
$(document).on('click','.remove',function(e){
// e.preventDefault();
var _this=$(this); // assign this as one variable
var data = _this.data('file');
$.ajax({
type:'POST',
url:'/backup/delete',
data:'fileName='+data,
success: function(data){
_this.parents('tr').remove(); // here this not .remove }
},'json');
});
});
元素的上下文在ajax调用中丢失,您可以使用选项
context
将上下文设置为ajax:
$.ajax({
type:'POST',
url:'/backup/delete',
context:this,
data:'fileName='+data,
success: function(data){
$(this).parents('tr').remove();
}
},'json');
使用
$(this)
设置$this
变量,并在Ajax调用的成功处理程序中使用它
jQuery(function($) {
$(document).on('click','.remove',function(e){
var $this = $(this); // set it
// e.preventDefault();
var data = $(this).data('file');
$.ajax({
type:'POST',
url:'/backup/delete',
data:'fileName='+data,
success: function(data){
$this.parents('tr').remove(); // use it
}
},'json');
});
});
$(文档).ready(函数(){
$(文档).on('click','remove',函数(e){
//e.预防违约();
var oThis=$(本);
var data=$(this.data('file');
$.ajax({
类型:'POST',
url:“/backup/delete”,
数据:'fileName='+数据,
成功:功能(数据){
oThis.parents('tr').remove();
}
}“json”);
});
});
在单击数据时分配一些变量此
在成功函数中使用它
$(document).ready(function(){
$(document).on('click','.remove',function(e){
// e.preventDefault();
var datathis=$(this); // assign this as one variable
var data = _this.data('file');
$.ajax({
type:'POST',
url:'/backup/delete',
data:'fileName='+data,
success: function(data){
datathis.parents('tr').remove();
}
},'json');
});
$(this)
在ajax的success函数下无法工作,您必须将其存储到某个变量中。
$(document).ready(function(){
$(document).on('click','.remove',function(e){
// e.preventDefault();
var datathis=$(this); // assign this as one variable
var data = _this.data('file');
$.ajax({
type:'POST',
url:'/backup/delete',
data:'fileName='+data,
success: function(data){
datathis.parents('tr').remove();
}
},'json');
});