2017-04-19 10 views
0

ページから行データを削除する際に問題があります。 「OK」ボタンをクリックすると、何も表示されません。ajaxコードを使用してCodeIgniterによってViewデータを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

$ this-> input-> post( 'id')をエコーし​​ようとします。結果は何ですか? – smzapp

+0

「OK」ボタンをクリックしても何も表示されません –

答えて

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();   
     } 
012の下に試してみてくださいです

アヤックス

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

動作しません。 –

+0

'$ id = $ this-> input-> post( 'id')をチェックできますか? echo $ id; 'コントローラのIDの値を確認する –

+0

何も表示されない:( –

0

実際にコントローラにあなたのAjaxのポストのエンドポイントは、エコー+ JSONのencondeを使用して、いくつかの応答を返す必要があります。そのようにして、ajax jqueryコールへの成功コールバックはそれを捕まえて、正しくフローを継続できます(モーダルを隠す)。

JQuery Ajax POST in Codeigniter

0

多分データidはコントローラそれは働いていない理由thatsの中にcorrectnly送信されませんでしたdata : {id:id},data : {"id":id},を変更してみてください。

+0

ありがとうございます アラートIDを追加した後、一番上の行データの正しいIDが表示されますが、一番上の行データの下にIDが表示されます"未定義"です。 –

関連する問題