Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获类型错误:无法读取属性'_aData';未定义的_Javascript_Jquery_Datatable - Fatal编程技术网

Javascript 未捕获类型错误:无法读取属性'_aData';未定义的

Javascript 未捕获类型错误:无法读取属性'_aData';未定义的,javascript,jquery,datatable,Javascript,Jquery,Datatable,关于Datatables,我遇到了一个问题,当我尝试从datatable编辑数据时,一切都很顺利,datatable刷新后,我的编辑/删除按钮不起作用,并引发此类错误未捕获类型错误:无法读取未定义的属性“\u aData” 这是我的datatable用户界面。 这是我的编辑事件代码 $('#template_table tbody').on('click','.update',function(){ var closestRow = $(this).closest('tr');

关于Datatables,我遇到了一个问题,当我尝试从datatable编辑数据时,一切都很顺利,datatable刷新后,我的编辑/删除按钮不起作用,并引发此类错误
未捕获类型错误:无法读取未定义的属性“\u aData”

这是我的datatable用户界面。

这是我的编辑事件代码

$('#template_table tbody').on('click','.update',function(){
    var closestRow = $(this).closest('tr');
    var data = templateTable.row(closestRow).data();
    console.log(data);
    tableId = data.id;
    $('#modal-title').text('Update Template');
    $('#alert_lvl').val(data.alert_lvl);
    $('#internal_alert').val(data.internal_alert);
    $('#scenario').val(data.possible_scenario);
    $('#response').val(data.recommended_response);
    $('#submit_template').text("UPDATE");
    $('#template_modal').modal('toggle');
});
这是我的save函数,它将刷新datatable以显示更新的datatable

function reloadTable() {
    $('#template_table').DataTable().clear();
    $('#template_table').DataTable().destroy();
    template_table = $('#template_table').DataTable( {
        "processing": true,
        "serverSide": false,
        "scrollX": true,
        "ajax": '../communications/fetchalltemplate',
        columns: [
            { "data" : "id" , title:"ID"},
            { "data" : "alert_lvl", title:"ALERT LEVEL"},
            { "data" : "internal_alert", title:"INTERNAL ALERT"},
            { "data" : "possible_scenario", title:"POSSIBLE SCENARIO"},
            { "data" : "recommended_response", title:"RECOMMENDED RESPONSE"},
            { "data" : "last_update_by", title:"LATEST MODIFICATION"},
            { "data" : "functions", title: "*"}
        ]
    });
}
如果我再次点击更新。我在这一部分抛出了错误

var data = templateTable.row(closestRow).data();

如果您能帮助我,请提前感谢。

代码中的问题在于
closestRow
变量的声明

根据,函数的.closest()搜索向上遍历DOM的最近元素(关于给定的选择器)

这意味着,由于要将此操作绑定到表主体上的单击,因此基本上是在该表的父级中搜索
元素

您可以使用另一种选择方法执行您想要的操作

var closestRow = $(this).children('tr:first');

每次重新加载datatable时,我都会初始化datatable,它工作正常

在重载功能下

var templateTable=$('#template_table')。DataTable()


不为我工作