2015-09-08 59 views
1

你好,我想在列表視圖本身編輯我的記錄,而不是打開一個新的頁面來編輯單個記錄。我面臨的問題是我可以通過內聯編輯來編輯記錄,但記錄不會得到更新也許問題是與我使用的ajax功能,請幫我解決這個錯誤以下是我的代碼:如何通過在Codeigniter中進行內聯編輯來動態更新記錄?

控制器:

public function updateDb() 
     { 
      $column = $this->input->post('column'); 
      $editval = $this->input->post('editval'); 
      $id = $this->input->post('id'); 

      //$this->load->model('user_m');      
      $this->user_m->inline($column, $editval, $id); 

      return; 
     } 

標準守則:

public function inline($column, $editval, $id) 
     { 
      $result = mysql_query("UPDATE users set $column = $editval WHERE id=$id"); 
     } 

視圖代碼:

<td class="success" contenteditable="true" onBlur="saveToDatabase"><?php echo $user->sip_id; ?></td> 

阿賈克斯功能:

<script> 


    function showEdit(editableObj) { 
     $(editableObj).css("background","#FFF"); 
    } 



    function saveToDatabase(editableObj,column,id) { 
     $(editableObj).css("background","#FFF url(<?php echo site_url('img/loaderIcon.gif');?>loaderIcon.gif) no-repeat right"); 

     $.ajax({ 
      url: "<?php echo current_url('/admin/user/updateDb')?>", 
      type: "POST", 
      data:'column='+column+'&editval='+editableObj.innerHTML+'&id='+id, 
      success: function(data){ 
       $(editableObj).css("background","#FDFDFD"); 
      }   
     }); 
    } 
    </script> 
+0

哪裏是列,editableObj和id值?沒有看到它通過 –

+0

@NorlihazmeyGhazali在模型和控制器? – Rajan

+0

在html元素'onBlur =「saveToDatabase」' –

回答

1

試試這個

<script> 


    function showEdit(editableObj) { 
     $(editableObj).css("background","#FFF"); 
    } 


     function save(editableObj,column,id) { 

     $(editableObj).css("background","#FFF url(<?php echo site_url('img/loaderIcon.gif');?>loaderIcon.gif) no-repeat right"); 
     $.ajax({ 

      url: "<?php echo base_url()?>admin/user/updateDb", 
      type: "POST", 
      data:'column='+column+'&editval='+editableObj.innerHTML+'&id='+id, 
      success: function(data){ 
       $(editableObj).css("background","#FDFDFD"); 
      } 

     }); 
    } 

    </script> 
相關問題