Событие Ajax после вызова Ajax - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть событие ajax, которое показывает мне таблицу, в этой таблице я хотел бы отобразить ее в таблицах данных, поэтому при использовании ajax два вызова ajax находятся на одной странице, а таблица - в фильтре.код:

$('#form').on('submit',function(){        
           var date= $('#date').val();
           var fact= $('#fact').val();    
           var matr= $('#matr').val(); 
           var type= $('#type').val(); 
           var dest= $('#dest').val(); 
           $.ajax({    
              url:"filtre.php",
              method:"post",
              data:{date:date,fact:fact,matr:matr,type:type,dest:dest},
              dataType: "html",
              success:function(data)
               {       
                $('#result').html(data);                  
               }
            });  
            return false;
     });


$('#mytable').DataTable({
           responsive: true,
           searching: false,
           aoColumnDefs: [
                {"aTargets": [0], "bSortable": true},
                {"aTargets": [2], "asSorting": ["asc"], "bSortable": true},
            ],
            "language": {
                "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/French.json"
            }
    };

Ответы [ 3 ]

0 голосов
/ 27 декабря 2018

В указанном вами коде отсутствует ") " в конце.См. Ниже;

$('#mytable').DataTable({
           responsive: true,
           searching: false,
           aoColumnDefs: [
                {"aTargets": [0], "bSortable": true},
                {"aTargets": [2], "asSorting": ["asc"], "bSortable": true},
            ],
            "language": {
                "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/French.json"
            }
    } /*Here->*/ );

Вы не предоставили никакой информации о том, где вы вызываете функцию DataTable, но вы можете просто поставить функцию построения

$('#mytable').DataTable();

сразу после

$('#result').html(data);  

в вашем вызове ajax;при условии, что атрибут id вашего table равен mytable, например <table id="mytable"></table>.

0 голосов
/ 27 декабря 2018

Попробуйте с этим решением, надеюсь, это поможет:

 $('#form').on('submit',function(){        
               var date= $('#date').val();
               var fact= $('#fact').val();    
               var matr= $('#matr').val(); 
               var type= $('#type').val(); 
               var dest= $('#dest').val(); 
               $.ajax({    
                  url:"filtre.php",
                  method:"post",
                  data:{date:date,fact:fact,matr:matr,type:type,dest:dest},
                  dataType: "html",
                  success:function(data)
                   {       
                    $('#result').html(data);   
                   $('#mytable').DataTable().destroy(); // destroy datatable if already exist.
                   initDataTable();               
                   }
                });  
                return false;
         });



$(document).ready(function () {
    initDataTable(); // initialize datatable on PageLoad
});
 function initDataTable() {

     $('#mytable').DataTable({
               responsive: true,
               searching: false,
               aoColumnDefs: [
                    {"aTargets": [0], "bSortable": true},
                    {"aTargets": [2], "asSorting": ["asc"], "bSortable": true},
                ],
                "language": {
                    "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/French.json"
                }
        };
}
0 голосов
/ 27 декабря 2018

Запишите датируемое событие запуска в функции и вызовите эту функцию в ajax success.

function myDataTable(){
    $('#mytable').DataTable({
       "responsive": true,
       "searching": false,
       "aoColumnDefs": [
            {"aTargets": [0], "bSortable": true},
            {"aTargets": [2], "asSorting": ["asc"], "bSortable": true},
        ],
        "language": {
            "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/French.json"
        }
    });
}


 $('#form').on('submit',function(){        
       var date= $('#date').val();
       var fact= $('#fact').val();    
       var matr= $('#matr').val(); 
       var type= $('#type').val(); 
       var dest= $('#dest').val(); 
       $.ajax({    
          url:"filtre.php",
          method:"post",
          data:{date:date,fact:fact,matr:matr,type:type,dest:dest},
          dataType: "html",
          success:function(data)
           {       
            $('#result').html(data);
            myDataTable();                  
           }
        });  
        return false;
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...