保存数据后将Ajax数据与数据表一起加载

时间:2019-04-20 03:24:58

标签: javascript jquery ajax codeigniter codeigniter-3

我在数据表和Ajax方面有一些问题 提交数据后没有出现新数据。

但是如果不使用数据表,数据可以很好地显示

我正在使用codeigniter和jquery

这是我的视图功能

    function main_cat(){

        $.ajax({
            type  : 'ajax',
            url   : '<?php echo base_url()?>admin_ajx/categories_ajx/view_main_categories',
            async : false,
            dataType : 'json',
            success : function(data){

                var html = '';
                var i;
                for(i=0; i<data.length; i++){
                    html += '<tr>'+
                            '<td>'+data[i].cat_id+'</td>'+
                            '<td>'+data[i].cat_name+'</td>'+
                            '<td>'+data[i].cat_stat+'</td>'+
                            '<td><a  value="Edit MainCat" id="'+data[i].cat_id+'" class="btn btn-xs btn-warning edit_maincat">edit</td>'+
                            '</tr>';
                }
                $('#show_main_cat').html(html);

                }
            });
        }

这是我的提交功能

        $(document).ready(function(){  
                $(".save_main_cat").click(function(){
                        var data = $('.add_main_categories').serialize();
                        $.ajax({
                                type: 'POST',
                                url: "<?= base_url() ?>admin_ajx/categories_ajx/update_main_categories",
                                data: data,
                                success: function() {

                                    $('#addCat').modal('hide');
                                    $(".add_main_categories")[0].reset();
                                    $("#mydata").ajax.reload();  


                                    $(document).ready(function(){   
                                    main_cat(), main_cat_option();  
                                    }); 
                                }
                            });
                        });
                    });

数据表

     $(document).ready(function(){
      $('#mydata').DataTable({
      'paging'      : true,
      'lengthChange': false,
      'searching'   : false,
      'ordering'    : true,
      'info'        : true,
      'autoWidth'   : true

        });
    });

我希望输出数据在添加一些数据后出现

1 个答案:

答案 0 :(得分:0)

请检查以下代码,它将解决您的问题

var table;

$(document).ready(function(){  

    main_cat();
    main_cat_option(); 

    table = $('#mydata').DataTable({
        'paging'      : true,
        'lengthChange': false,
        'searching'   : false,
        'ordering'    : true,
        'info'        : true,
        'autoWidth'   : true
    });

    $(".save_main_cat").click(function(){
        var data = $('.add_main_categories').serialize();
        $.ajax({
            type: 'POST',
            url: "<?= base_url() ?>admin_ajx/categories_ajx/update_main_categories",
            data: data,
            success: function() {

                $('#addCat').modal('hide');
                $(".add_main_categories")[0].reset();
                main_cat();
            }
        });
    });
});

function main_cat(){
    $.ajax({
        type  : 'ajax',
        url   : '<?php echo base_url()?>admin_ajx/categories_ajx/view_main_categories',
        async : false,
        dataType : 'json',
        success : function(data){

            var html = '';
            var i;
            for(i=0; i<data.length; i++){
                html += '<tr>'+
                        '<td>'+data[i].cat_id+'</td>'+
                        '<td>'+data[i].cat_name+'</td>'+
                        '<td>'+data[i].cat_stat+'</td>'+
                        '<td><a  value="Edit MainCat" id="'+data[i].cat_id+'" class="btn btn-xs btn-warning edit_maincat">edit</td>'+
                        '</tr>';
            }
            table.rows.add($(html)).draw();

            }
    });
}