【问题标题】:datatables initizalize two or more times with respect to function call数据表相对于函数调用初始化两次或更多次
【发布时间】:2019-02-10 02:30:21
【问题描述】:

我在最后一次选择 onchange 事件调用时有三个选择字段。(函数类)。 第一次运行并且数据表初始化,但是当第二次事件运行并且函数调用和数据表再次初始化时,它会产生错误。 我不知道如何设置格式或如何在函数外初始化数据表。 我只想初始化一次数据表,但每次都调用 ajax 关于函数这里是我的代码 并且 ajax 第一次使用数据表初始化自动运行,但在事件运行和函数调用时第二次调用 ajax

     function clas(src)
    {

    var dataTable = $('#user_data').DataTable({
  "processing":true,
  "serverSide":true,
  "order":[],
   "ajax":{
   url:"requests/add_students/fetch.php",
   type:"POST",
    data: {
          "class_name": 2,
          "class_section": 3,
          "class_session": 4
        }
  },
    dom: 'lBfrtip',
  buttons: [
            {
                extend: 'copyHtml5',
                exportOptions: {
                    columns: [ 0, ':visible' ]
                }
            },
            {
                extend: 'excelHtml5',
                exportOptions: {
                    columns: ':visible'
                }
            },
            {
                extend: 'pdfHtml5',
                exportOptions: {
                    columns: [ 1, 2 ]
                },

            },
            {
                extend: 'csvHtml5',
                exportOptions: {
                    columns: [ 1, 2 ]
                },


            }

        ],
   "lengthMenu": [ [10, 25, 50, -1], [10, 25, 50, "All"] ],
  "columnDefs":[
   {
    "targets":[0, 3, 4],
    "orderable":false,
   },
  ],

 });
    }

【问题讨论】:

    标签: jquery ajax datatables


    【解决方案1】:

    你应该在初始化之前检查数据表是否存在。如果它已经初始化,则无需重新启动它。检查以下代码:

    function clas(src) {    
                if (!$.fn.DataTable.isDataTable('#user_data')) {
                    var dataTable = $('#user_data').DataTable({
                        "processing":true,
                        "serverSide":true,
                        "order":[],
                        "ajax":{
                            url:"requests/add_students/fetch.php",
                            type:"POST",
                            data: {
                                "class_name": 2,
                                "class_section": 3,
                                "class_session": 4
                            }
                        },
                        dom: 'lBfrtip',
                        buttons: [
                            {
                                extend: 'copyHtml5',
                                exportOptions: {
                                    columns: [ 0, ':visible' ]
                                }
                            },
                            {
                                extend: 'excelHtml5',
                                exportOptions: {
                                    columns: ':visible'
                                }
                            },
                            {
                                extend: 'pdfHtml5',
                                exportOptions: {
                                    columns: [1, 2]
                                },
                            },
                            {
                                extend: 'csvHtml5',
                                exportOptions: {
                                    columns: [1, 2]
                                },
    
                            }
                        ],
                        "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
                        "columnDefs": [
                            {
                                "targets": [0, 3, 4],
                                "orderable": false
                            }
                        ]
                    });
                }
            }
    

    【讨论】:

      猜你喜欢
      • 2012-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 2017-12-18
      • 2019-12-25
      相关资源
      最近更新 更多