问题是,当我调用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);


没有。

我有11列,最后一列被CSS代码隐藏(显示:无)

请解释一下吗?

最佳答案

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

$("#table_id tbody tr input[checked='checked']")将给您复选框元素。您需要找到其父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);
            });

关于javascript - 未捕获的TypeError:无法读取未定义的属性'nTr',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30578291/

10-09 17:35