我正在尝试使用ajax delete来删除在发送请求之前单击时确认的记录。 记录被删除并且它可以工作,但问题是在我手动重新加载页面之前删除视图中没有任何更改。 我想在对话框
中单击“确定”后立即显示结果我的ajax代码:
$(document).ready(function() {
if($('.confirm_delete').length) {
$('.confirm_delete').click(function(){
var result = confirm('Are you sure you want to delete this?');
$('#flashMessage').fadeOut();
if(result) {
$.ajax({
type:"POST",
url:$(this).attr('href'),
data:"ajax=1",
dataType: "json",
success:function(response){
}
});
}
return false;
});
}
});
在视图中:
echo $this->Js->link('Delete', array('controller' => 'publications', 'action'=>'delete', $publication['Publication']['id']),
array('escape' => false, 'class'=>'confirm_delete'));
答案 0 :(得分:1)
$(document).ready(function(){
if($('.confirm_delete').length) {
$id=$(this).attr('id');
$('.confirm_delete').click(function(){
var result = confirm('Are you sure you want to delete this?');
$('#flashMessage').fadeOut();
if(result) {
$.ajax({
type:"POST",
url:$(this).attr('href'),
data:"ajax=1",
dataType: "json",
success:function(response){
}
});
$('#row'+$id).remove();
}
return false;
});
} });
由于某种原因,$(this).attr('id')不起作用...如何获取所选元素的id以将其删除 我有我的观点:
<div class="box_detail" id="row<?php echo $publication['Publication']['id']; ?>">
答案 1 :(得分:0)
这不是CakePHP问题,只是JS问题。如果yor删除回调成功而没有返回任何错误,则必须从DOM树中删除相关内容。使用jquery可以通过在要删除的任何选择器上调用remove()来完成。