2017-04-19 144 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,但在顶行数据下, “未定义”。 –

相关问题