2016-06-27 18 views
0

Versuch, die Tabelle neu zu zeichnen. Es ist notwendig, die Tabelle neu zu zeichnen, wenn Sie auf das Symbol klicken. Keine Fehler, aber die Tabelle wird beim zweiten Klick auf das Entfernen-Symbol aktualisiert.JQuery DataTables funktioniert nicht Methode Draw();

Was ist das Problem `

var $ = jQuery = require('jquery'); 
var dataTable = require('../bower/datatables.net/js/jquery.dataTables.js'); 
$.DataTable = dataTable; 

var App = { 
    InitUsertable: null, //Table of users 
    mestype: null, 
    init: function() { 
    this._initHandler(); 
    console.log('init dTable'); 
    this._initDtDefaultSettings(); 
    this.InitUserTable(); 
    this.InitProductTable(); 
    this.InitCostTable(); 
    this.InitMestypeTable(); 

    }, 
    _initHandler: function() { 

    $(document).on('click', '#delete', this.InitButtons.bind(this)); 

    }, 
    _initDtDefaultSettings: function() { 
    $.extend(true, $.fn.dataTable.defaults, { 
     "lengthMenu": [10, 25, 50, 75, 100, 200], 
     "oLanguage": { 
     "sProcessing": false, 
     "sLengthMenu": "Показывать _MENU_ строк", 
     "sZeroRecords": "Ничего не найдено", 
     "sInfo": "Показано с _START_ по _END_ из _TOTAL_ строк", 
     "sInfoEmtpy": "Показано с 0 по 0 из 0 строк", 
     "sInfoFiltered": "(выбрано из _MAX_)", 
     "sInfoPostFix": "", 
     "sSearch": "Поиск: ", 
     "sUrl": "", 
     "sEmptyTable": "Ничего не найдено", 
     "oPaginate": {"sFirst": "First", "sLast": "Last", "sNext": "Следующая", "sPrevious": "Предыдущая"}, 
     "sInfoEmpty": "Показано с 0 по 0 из 0 строк", 
     "sLoadingRecords": "loading..." 
     }, 
     "serverSide": true, 
     "bProcessing": false, 
     "bDeferRender": true, 
     "bAutoWidth": false, 
     "bFilter": true, 
     "bInfo": true, 
     "bSortClasses": true, 
     "bStateSave": true 
    }) 
    }, 



    InitMestypeTable: function() { 
    if ($('#mestypeTable').length != 0) { 
     var _this = this; 
     var urlAll = 'http://' + window.location.hostname + '/mestype'; 
     _this.mestypeTable = $('#mestypeTable').DataTable({ 
     "processing": true, 
     "serverSide": true, 
     "ajax": {url: urlAll, type: 'GET'}, 
     "order": [[0, "desc"]], 
     "columns": [ 
      {data: "id", "orderable": false, render: 
        function (data, type, row) 
        { 
         return data; 

        }}, 
      {data: "name", "orderable": false, render: 
        function (data, type, row) 
        { 
         return data; 

        } 
      }, 
      {data: "short_name", "orderable": false, render: 
        function (data, type, row) 
        { 

         return data; 
        } 
      }, 
      {data: "edit", "orderable": false, render: 
        function (data, type, row) 
        { 
         return '<a href="/admin/edit-mestype?id=' + data + '" data-toggle="ajaxModal"><i class="fa fa-edit"></i></a>'; 
        } 
      }, 
      {data: "delete", "orderable": false, render: 
        function (data, type, row) 
        { 
         return '<a href="/mestypes/' + data + '" data-method= "delete" id="delete"><i class="fa fa-trash-o"></i></a>'; 
        } 
      }, 
     ], 
     }); 
    } 
    ; 
    }, 
    InitButtons: function() { 

    App.mestypeTable.draw(); 

    }, 
}; 
module.exports = App; 

`

Antwort

2

Try this:

$('#mestypeTable').ajax.reload(null, false);