你好我这里有问题..
我将使用Ajax和codeigniter删除记录。 但是当数据库中的记录被删除时,视图不会改变.. 我认为它需要一个实时页面加载,但不知道如何..
这是我的观点..
<a class="btn btn-primary" href="#" onclick="deleteFav('<?php echo $favbook[$x]['Bibli']; ?>')">Delete
</a>
<script>
function deleteFav(bibli)
{
$.ajax({
type :"POST",
url : "<?php echo site_url(); ?>favorite_book/deleteFav",
async : false,
data : {
Bibli:bibli
},
success : function(data){
}
});
}
</script>
这是我的模特
function addfav($Bibli, $createTime, $username)
{
$data_fav = array(
'Bibli' => $Bibli,
'FavoriteDate' => $createTime,
'Username' => $username,
'CreatedTime' => $createTime,
'AuditActivity' => 'I'
);
echo $this->db->insert('msfavoriteasset',$data_fav);
}
我的控制器
public function deleteFav()
{
$data = $this->input->post();
print_r($this->input->post('Bibli'));
$createTime = date("Y-m-d H:i:s",strtotime('+6 hours'));
$success = $this->favoritebook_model->delete($data["Bibli"], $this->session->userdata('username'));
}
答案 0 :(得分:1)
试试这个: -
<a class="btn btn-primary" href="#" data-bibli="<?php echo $favbook[$x]['Bibli']; ?>">Delete</a>
<script>
function deleteFav(bibli, this)
{
$.ajax({
type :"POST",
url : "<?php echo site_url(); ?>favorite_book/deleteFav",
async : false,
data : {
Bibli:bibli
},
success : function(data){
$(this).remove();
}
});
}
$(document).ready(function(){
$(".btn-primary").click(function(){
var bibli = $(this).data("bibli");
deleteFav(bibli, this);
});
});
</script>
不要忘记在onclick="deleteFav('<?php echo $favbook[$x]['Bibli']; ?>', this)
答案 1 :(得分:0)
根据评论中的讨论尝试此代码。
success : function(data){
var delay=2000//2 seconds
setTimeout(function(){
//your code to be executed after 2 seconds
location.reload();
},delay)
}
答案 2 :(得分:0)
我假设您需要的是当用户点击删除时,必须从他的收藏列表中删除某个人,并且您需要更新从列表中删除的人的视图。
这可以通过以下方式完成,您可以删除此人并在删除和更新列表后将新列表作为Ajax回复发送。
即success : function(data){ $('#favlist_div').html(data); }
这会将原始列表替换为更新列表。
或者您可以直接从列表中删除此人
我想你是用图像和删除按钮列出最喜欢的人 如果echo $ favbook [$ x] [&#39; Bibli&#39;]是唯一ID
<div id="div_<?php echo $favbook[$x]['Bibli']; ?>">
<img .....>
<a class="btn btn-primary" href="#" onclick="deleteFav('<?php echo $favbook[$x]['Bibli'];?>')"> Delete </a>
</div>
然后在成功中你可以简单地将div删除为
success : function(data){ $('#div_'+bibli).hide(); }