【问题标题】:DataTables events don't work with data optionDataTables 事件不适用于数据选项
【发布时间】:2021-12-19 12:26:39
【问题描述】:

我正在使用 DataTables 1.11.3 并像这样通过 ajax 加载数据,所有事件捕捉器都可以正常工作。但是,如果我删除 ajax 选项并放入“data”:ta_data,事件根本不起作用,没有人。然后,如果我通过按钮 'cklick' ajax 源和重绘事件再次工作,事件不适用于来自局部变量数据的静态加载数据?

$(document).ready(function(){
    "use strict";

   
    const ta_data = JSON.parse(ta).data;
    
    let table_arch = $("#datatable-archive").DataTable({
            "scrollY": '60vh',
            "scrollX": false,
            "paging": false,
            "searching": false,
            "info": false,
            "order": [[ 10, "desc" ]],
            "ajax": {
               "url": 'rest/data/history/' + last_date,
               "error": function(a,b,c){showErrorModal(a,b,c); offSpinner();}
        },
            
    })
      .on( 'preDraw', function() {sp = {buy:0, sell:0, buyErr:0, sellErr:0};})
      .on( 'draw.dt', function() {
            $.when(offSpinner()).then(
                function(){
                    gageMaker(sp, "Accuracy");
                    commonDonut();
                }
            )
    });  

});

【问题讨论】:

    标签: datatables datatables-1.10


    【解决方案1】:

    需要更改顺序。先设置事件捕获器,然后初始化表

    const ta_data = JSON.parse(ta).data;
    
    let table_arch = $("#datatable-archive"))
      .on( 'draw.dt', function() {
            $.when(offSpinner()).then(
                function(){
                    gageMaker(sp, "Accuracy");
                    commonDonut();
                }
            )
    }).DataTable({
            "scrollY": '60vh',
            "scrollX": false,
            "paging": false,
            "searching": false,
            "info": false,
            "order": [[ 10, "desc" ]],
            "data" : ta_data
        },
            
    })
     
    

    【讨论】:

      猜你喜欢
      • 2016-11-23
      • 2021-07-20
      • 1970-01-01
      • 2013-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多