Php 使用DataTable-未捕获引用错误:未定义表

Php 使用DataTable-未捕获引用错误:未定义表,php,jquery,ajax,datatables-1.10,Php,Jquery,Ajax,Datatables 1.10,我有下面的脚本,已经很好地工作了,然后需要在表的每个记录中放置第二个级别。 在第一列中,我有一个按钮,单击该按钮将打开该记录的详细信息,如下图所示 单击该按钮将显示以下消息: 未捕获引用错误:未定义表 编辑 错误发生在这里 Var row = table.row (tr); 我只能补充一点 var oTable = $('#employee-grid').DataTable(); 既然您声明了名为oTable的变量,您应该坚持使用该变量名,而不是表 因此,请使用oTable.row而不是t

我有下面的脚本,已经很好地工作了,然后需要在表的每个记录中放置第二个级别。 在第一列中,我有一个按钮,单击该按钮将打开该记录的详细信息,如下图所示

单击该按钮将显示以下消息:

未捕获引用错误:未定义表

编辑 错误发生在这里

Var row = table.row (tr);
我只能补充一点

var oTable = $('#employee-grid').DataTable();

既然您声明了名为
oTable的变量
,您应该坚持使用该变量名,而不是


因此,请使用
oTable.row
而不是
table.row

因为您的dataTable处于变量oTable中,请尝试使用oTable.row而不是table.row; 比如说,

var table= $("#example").DataTable();

$("tr#info td").click(function(e){     //function_td
        var tr = $(this).closest('tr');
        console.log(tr);
        var row = table.row( tr );
        if ( row.child.isShown() ) {
            // This row is already open - close it
            row.child.hide();
            tr.removeClass('shown');
        }
        else {
            // Open this row
            row.child( format(row.data()) ).show();
            tr.addClass('shown');
        }
});

不要在下面的行中使用“var”解决了我的问题

$(文档).ready(函数(){
$.ajax({
“url”:“getjson_数据”,
'方法':“获取”,
“contentType”:“application/json”,
成功:功能(数据){
var obj=JSON.stringify(数据)
/*下面*/
/*不要使用“var”myTabler=$(“newTable”).DataTable({…}*/
myTabler=$('#newTable')。数据表({
//“分页”:对,
“数据”:数据,
“处理”:对,
//“服务器端”:正确,
“栏目”:[
{“数据”:“名称”},
{“数据”:“usn”},
{“数据”:“id”},
{“数据”:“电子邮件”},
//“目标”:4,“可搜索”:false,“可排序”:false,
{'data':null,'defaultContent':'Edit'},
],
});
}
});
});

听起来好像没有加载datatables脚本。运行此脚本时,请检查浏览器控制台是否有错误,并告知我们。jquery+数据表库似乎没有添加/或添加错误。这很酷!它也适用于我。var oTable=$('#all_list')。DataTable({})在click事件中,我设置了var row=oTable.row(tr);它在我这边工作
var oTable = $('#employee-grid').DataTable();
var table= $("#example").DataTable();

$("tr#info td").click(function(e){     //function_td
        var tr = $(this).closest('tr');
        console.log(tr);
        var row = table.row( tr );
        if ( row.child.isShown() ) {
            // This row is already open - close it
            row.child.hide();
            tr.removeClass('shown');
        }
        else {
            // Open this row
            row.child( format(row.data()) ).show();
            tr.addClass('shown');
        }
});