2015-06-01 12 views
1

財產「NTR」的問題是,當我打電話fnSelect我得到鍍鉻的錯誤:遺漏的類型錯誤:無法讀取的不確定

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代碼隱藏(顯示:無)

任何解釋嗎?

回答

2

這是因爲您在oTT.fnSelect(visibileSelectedRows)中將複選框元素傳遞給fnSelect

$("#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); 
      }); 
+0

謝謝!我可以和你在一起! – Sofiane

相關問題