2016-11-23 10 views
1

Hallo Ich möchte Daten in die Datenbank mit AJAX Codeigniter unter Verwendung modaler Box Bootstrap einfügen, kann ich meine Daten in meine Tabelle einfügen, aber ich fand ein Ergebnis nicht, was ich will. Wenn ich nach dem Einfügen von Daten meine neuen Daten am Ende der Liste anzeigen möchte, schließe die Aktion nach dem Speichern das Modal und füge dann meine Liste hinzu (meine Listen sind Checkbox-Daten), aber meine neue Liste ruft ganze Daten aus meiner Tabelle ab. Könnten Sie meine problem..Thanks mögenRefresh Liste nach Speichern von Daten mit AJAX Codeigniter

hier lösen, ist mein Controller

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; 
    } 

My View

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

Und das ist meine Ajax-Aktion

<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> 

Das ist mein Stromausgang

enter image description here

+1

jetzt Daten ordnungsgemäß speichern und anzeigen. Recht? –

+1

wenn richtig. Dann können Sie die Methode 'list_type_placement()' zum Abrufen der letzten einzelnen Daten verwenden. und '$ (" # placement "). last(). append (antwort);' –

+0

kannst du mir zeigen, wie das geht? Ich versuche es aber immer noch nicht –

Antwort

1

Sie können eine neue Methode lists() Methode zum Abrufen der letzten einzelnen Daten hinzufügen.

In Controller:

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>"; 
} 

Jetzt können einige Änderung list_placement() Funktion in Ihrem Skriptfunktion.

$("#placement").last().append(response); und ändern url mit lists wie url:"<?php echo base_url() ?>product/lists",

In JQuery:

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

Hinweis: Bad Praxis aktiv quqery Code in Controller zu schreiben, werde ich besser aktive Abfrage in Ihrem Modell schreiben.

+0

Großartig! Es klappt. –