Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 未捕获类型错误:无法读取属性';nTr';未定义的_Javascript_Jquery_Datatables - Fatal编程技术网

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

Javascript 未捕获类型错误:无法读取属性';nTr';未定义的,javascript,jquery,datatables,Javascript,Jquery,Datatables,问题是,当我调用fnSelect时,我在chrome上得到了错误: Uncaught TypeError: Cannot read property 'nTr' of undefined 这是我的密码: $('#ToolTables_table_id_0, #ToolTables_table_id_1').mousedown(function(){ var oTT = TableTools.fnGetInstance('table_id');

问题是,当我调用fnSelect时,我在chrome上得到了错误:

Uncaught TypeError: Cannot read property 'nTr' of undefined
这是我的密码:

$('#ToolTables_table_id_0, #ToolTables_table_id_1').mousedown(function(){
                var oTT = TableTools.fnGetInstance('table_id');
                var rowsToBeExported = $('#table_id tbody tr:visible');
                var visibileSelectedRows = $("#table_id tbody tr input[checked='checked']");
                if(visibileSelectedRows.size() > 0 ){
                    console.log(visibileSelectedRows);
                    console.log(rowsToBeExported);
                    oTT.fnSelect(visibileSelectedRows);
                }else{
                    $('input', rowsToBeExported).attr('checked','checked');
                }

                console.log(rowsToBeExported.size() + " row(s) will be exported.");
                oTT.fnSelect(rowsToBeExported);
            });
该错误由该行触发

oTT.fnSelect(visibileSelectedRows);
oTT.fnSelect(rowsToBeExported);
在排队的时候

oTT.fnSelect(visibileSelectedRows);
oTT.fnSelect(rowsToBeExported);
没有

我有11列,最后一列被css代码隐藏(display:none)


有什么解释吗?

这是因为您正在将复选框元素传递给
oTT.fnSelect(visibileSelectedRows)
中的
fnSelect

$(“#table#id tbody tr input[checked='checked'])
将为您提供checkbox元素。您需要找到它的父项
tr
,并将其传递给
fnSelect
。试试这个

$('#ToolTables_table_id_0, #ToolTables_table_id_1').mousedown(function(){
                var oTT = TableTools.fnGetInstance('table_id');
                var rowsToBeExported = $('#table_id tbody tr:visible');
                var visibileSelectedRows = $("#table_id tbody tr input[checked='checked']");
                if(visibileSelectedRows.size() > 0 ){
                    console.log(visibileSelectedRows);
                    console.log(rowsToBeExported);
                    oTT.fnSelect(visibileSelectedRows.closest('tr'));
                }else{
                    $('input', rowsToBeExported).attr('checked','checked');
                }

                console.log(rowsToBeExported.size() + " row(s) will be exported.");
                oTT.fnSelect(rowsToBeExported);
            });

非常感谢。我同意你!