2016-09-29 5 views
0

Ich habe eine Datentabelle in einer Registerkarte, die von Daten geladen wird, die von der Controller-Index-Methode gesendet werden.Neuladen einer Datentabelle ohne Aktualisierung mit Ajax

$data = array(
    'documents'  => $this->getDocuments(), 
    //more stuff... 
); 

$this->load->view($this->config->item('groupViews') . 'example/example_edit_view', $data); 

Ich habe die Ansicht, die die Datentabelle

zum Laden
<div class="form-group col-md-12"> 
    <table 
     id="t_documents" 
     class="table table-striped table-bordered table-hover" 
     cellspacing="0" 
     width="100%"> 
    </table> 
</div> 

dann lade ich die Datentabelle in Javascript, wenn die Seite geladen wird

var documentos = <?php echo json_encode($documents); ?>; 
    if (documentos !== null){ 
     var table = $('#t_documents').DataTable({ 
      language: { 
       "url": "<?=trad($this,'LANG_DATATABLES');?>" 
    }, 
    data: documents, 
    paging: true, 
    ordering: true, 
    pageLength: 10, 
    columns: [ 
     { title: "" }, //Download button 
     { title: "<?=trad($this,'FILE_NAME');?>" }, 
     { title: "<?=trad($this,'FILE_TYPE');?>" }, 
     { title: "" }  //Delete button 
    ] 
    }); 
} 

Ich habe eine Löschfunktion zu. Wie kann ich die Daten neu laden (mit Ajax, um die Daten vom Controller wieder zu bekommen), ohne die Seite neu zu laden?

+0

Verwenden Sie Ajax Anfrage – madalinivascu

Antwort

2
 var table=$('#tableid'); 
$('#tableid').on('click','thedeletebuton_id',function(event) { 
     event.preventDefault(); 
     var id=$(this).data('id'); // pass the id to the controller to delete using ajax 
     $.ajax({ 
      type: "POST", 
      url: "<?php echo base_url('your controller'); ?>", 
      data: {id:id}, 
      success: function(data) 
      { 
      table.ajax.reload(); /// reloads the table 
      alert('Deleted'); 
      } 
     }); 

     }); 
+0

Danke, es funktioniert für mich. – Noark

+0

@Noark funnily ich hatte gerade diesen Code 15 Minuten implementiert, bevor ich diese Frage beantwortete .... froh, dass es zu mehr Gebrauch dann nur meine app kam :) –

+0

Was für ein Glück! Vielen Dank – Noark

2

Datatables-Bibliothek bietet eine Funktion für die Implementierung derselben. Überprüfen Sie diesen Link data table ajax reload. Ich hoffe, Sie finden es nützlich.

Verwandte Themen