2017-04-19 39 views
0

我有一個問題來從頁面中刪除行數據。點擊「確定」按鈕後,什麼都不會出現。如何通過CodeIgniter使用Ajax代碼將視圖數據傳遞給Controller?

<td><a id ="mybutton" data-toggle="modal" data-target="#confirm_delete_button" data-id="<?php echo $row -> id?>" href="" ><i class="glyphicon glyphicon-remove"></i></a> 

模態是

<div class="modal fade" id="confirm_delete_button" role="dialog" aria-labelleby="myModalLabel" aria-hidden="true" z-index: 1050;> 
     <div class="modal-dialog"> 
      <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
       <h class="modal-title" id="myModalLabel">Delet this data</h> 

      </div> 
      <div class="modal-body"> 
       <h4>Are you sure? </h4> 
       <div id="done"></div> 
      </div> 

       <div class="modal-footer"> 
       <button type="button" class="btn btn-danger" id="confirmOk">Ok</button> 
       <button type="button" class="btn btn-success" data-dismiss="modal" aria-hidden="true">Cancel</button> 
       </div> 
      </div> 
     </div> 
     </div> 

jQuery代碼是

<script type="text/javascript"> 
     $(document).ready(function(){ 

      $('#mybutton').click(function(){ 
      var id = $(this).data('id'); 
      $('#confirmOk').data('id',id); 
       }); 

      $('#confirmOk').click(function(){ 
      var id = $(this).data('id'); 
      $.ajax { 
       url : "<?php echo base_url();?>item_list/delete_item/", 
       type : "post" , 
       data : {"id":id}, 
       dataType:"json", 
       success : function (data) { 
       $('#confirm_delete_button').modal('hide'); 

       } 

        } 
        }); 
       }); 
     </script> 

控制器文件的功能item_list.php文件是

public function delete_item() { 
    //$id = $this->uri->segment(3); 
    $id=$this->input->post('id'); 
    $this -> item_list_model -> delete_item ($id); 
    echo $id; 
} 

的item_list_model.php文件是

public function delete_item ($id) { 

    return $this -> db -> query ("DELETE FROM item WHERE id='$id' "); 

      } 

輸出是The "OK" button does not delet the row

+0

嘗試echo $ this-> input-> post('id');結果是什麼? – smzapp

+0

點擊「確定」按鈕後,它顯示舒緩 –

回答

0

嘗試下面代碼

控制器

public function delete_item() { 
     //$id = $this->uri->segment(3); 
     $id=$this->input->post('id'); 
     $result = $this->item_list_model->delete_item ($id); 
      if($result > 0){ 
      echo "success"; 
      }else{ 
      echo "failure"; 
      } 
    } 

模型

public function delete_item ($id) {  
     $this->db->where('id', $id); 
     $this->db->delete('item'); 
     return $this->db->affected_rows();   
     } 

AJAX

  success : function (data) { 
      //$('#confirm_delete_button').modal('hide'); 
      alert(data); 
      } 
+0

它不起作用。 –

+0

你可以檢查'$ id = $ this-> input-> post('id'); echo $ id;'在控制器中檢查id的值 –

+0

沒有任何顯示:( –

0

其實你的Ajax後端點到控制器應返回使用echo + JSON enconde一些響應。以這種方式,你的成功回調到jQuery jQuery調用可以捕捉它並正確地繼續流(隱藏模式)。

JQuery Ajax POST in Codeigniter

0

嘗試改變data : {"id":id},data : {id:id},也許數據ID沒有correctnly控制器這就是爲什麼它不工作發出。

+0

感謝隊友 添加了警報ID後,它顯示了頂行數據的正確ID,但在頂行數據下, 「未定義」。 –

相關問題