2016-11-23 4 views
1

こんにちは私はAJAX Codeigniterを使用してデータをデータベースに挿入したいのですが、私のテーブルにデータを挿入できます。私がデータを挿入した後、新しいデータをリストの最後に表示したい場合、保存後のアクションはモーダルを閉じてからリストを追加します(私のリストはチェックボックスのデータです)。あなたはここに私のproblem..ThanksAJAX Codeigniterを使用してデータを保存した後にリストを更新する

を解決するために好きでした私のコントローラは

function list_type_placement(){ 
     $type_placement=$this->type->get_by('level',1); 
     if ($type_placement<>0) { 
      $row=0; 
      foreach ($type_placement as $key => $value) { 
       $row++; 
       echo " 
        <div class='checkbox' id='rows".$row."'> 
         <input id=".$value->id_type." type='checkbox' name='id_type[]'' value=".$value->id_type."> 
         <label for=".$value->id_type."> 
          ".$value->type_name." 
         </label> 
        </div> 
       "; 
      } 
     } 
     exit; 
    } 

マイビュー

<div id="placement"> 
</div> 

そして、これが私のAjaxのアクション

<script type="text/javascript"> 
    $(document).ready(function(){ 
    list_placement(); 
    }); 
    function list_placement(){ 
    $.ajax({ 
     url:"<?php echo base_url() ?>product/list_type_placement", 
     type:'GET', 
    }).done(function(response){ 
     $("#placement").append(response); 
    }); 
    } 
    function save(){ 
    $('#btnSave').text('Saving...'); 
    $('#btnSave').attr('disabled',true); 

    $.ajax({ 
     url : "<?php echo site_url('product/save_placement')?>", 
     type: "POST", 
     data: $('#form').serialize(), 
     dataType: "JSON", 
     success: function(data) 
     { 
     if(data.status) 
     { 
      $('#modal-form').modal('hide'); 
      list_placement();         
     }   
     } 
    }).done(function(response){ 
      $("#placement").last().append(response); 
    }); 
    } 
</script> 

これは私であるです電流出力

enter image description here

+1

今、データは適切に保存され、表示されます。右?もしあれば –

+1

。最後の単一のデータを取り出すために 'list_type_placement()'メソッドを使うことができます。 '$("#placement ")。last()。append(response);' –

+0

あなたは私にそれを表示することができますか?私はそれを試してもまだ動作していません –

答えて

1

新しいメソッドlists()を追加して最後の1つのデータを取得することができます。コントローラーで

:今

function lists(){ 
    $this->db->order_by('id_type', 'desc'); 
    $this->db->limit(1); 
    $query = $this->db->get('type_table'); 
    $value = $query->row(); 
    echo "<div class='checkbox' id='rows".$row."'> 
      <input id=".$value->id_type." type='checkbox' name='id_type[]'' value=".$value->id_type."> 
      <label for=".$value->id_type."> 
       ".$value->type_name." 
      </label> 
     </div>"; 
} 

、スクリプト機能のいくつかの変更list_placement()機能することができます。 lists jQueryので

url:"<?php echo base_url() ?>product/lists",等と

$("#placement").last().append(response);と変更URL:

function list_placements(){ 
    $.ajax({ 
     url:"<?php echo base_url() ?>product/lists", 
     type:'GET', 
    }).done(function(response){ 
     console.log(response); 
     $("#placement").last().append(response); 
    }); 
} 

注:コントローラで活躍quqeryコードを書くための悪い習慣は、私はより良いモデルでアクティブなクエリを記述します。

+0

素晴らしい!できます。 –

関連する問題