2014-01-07 95 views
0

你好,我这里有问题..阿贾克斯直播页面加载后删除(阿贾克斯,笨)

我会用Ajax和笨.. 删除记录,但是当数据库中的记录中删除,该视图没有按” T改变.. 我认为它需要一个活页加载,但不知道如何..

这是我的看法..

<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

你的Ajax的成功是空的。你想在那里做什么? –

+0

我刚刚删除我的视图中的行.. – rena

+1

删除重定向到控制器后显示列表 –

回答

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)

+0

'this'是未定义这里 –

+0

Delete

+0

抱歉,但它不起作用:( – rena

0

这个参数试试这个代码在每注释讨论。

success : function(data){ 
       var delay=2000//2 seconds 
       setTimeout(function(){ 

        //your code to be executed after 2 seconds 
        location.reload(); 
       },delay) 

      } 
+0

@durgaprasad抱歉,但它不起作用:( – rena

+0

这是我的评论吗? –

+0

它是工作,但我可以给一些时间之前重新加载? – rena

0

我假设你需要的是,当用户点击删除,一个人必须从他的收藏列表中删除,你需要更新的人认为从列表中删除。

这是通过以下方式完成的,删除并更新列表后,您可以删除该人并将新列表作为Ajax回复发送。

success : function(data){ $('#favlist_div').html(data); }

这取代了原来的清单,更新列表。

或者你可以简单地从列表中删除的人如下

我假设你有一个图像和删除按钮 上市最爱的人如果回声$ favbook [$ X] [“Bibli”]是一个唯一的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(); }