2010-04-16 52 views
1

我得到一個JS錯誤和如何知道這意味着什麼,以及如何解決它。 (JS小白這裏)JavaScript錯誤與DataTable中的jQuery插件

錯誤: 「未定義TID」

JS的行與錯誤: 「如果(S [I] .sInstance = TID){」

更多信息

我使用的數據表(http://datatables.net)jQuery插件。

我有一類「dataTable的」加載的頁面上(jQuery UI的標籤內)的兩個表。表格按預期呈現,但我在Firebug中得到了上述錯誤。

附件是我的數據表中的配置文件...

$(document).ready(function() { 

//Take from: http://datatables.net/forums/comments.php?DiscussionID=1507 
// before creating a table, make sure it is not already created. 
// And if it is, then remove old version before new one is created   
var currTable = $(".dataTable"); 
if (currTable) { 
    // contains the dataTables master records 
    var s = $(document).dataTableSettings; 
    if (s != 'undefined') { 
    var len = s.length; 
    for (var i=0; i < len; i++) 
    { 
     // if already exists, remove from the array 
     if (s[i].sInstance = tId) { 
      s.splice(i,1); 
     } 
    } 

    } 
} 

oTable = $('.dataTable').dataTable({ 

     "bJQueryUI": true, 
     "sPaginationType": "full_numbers", 
     "bFilter": false 


}); 
}); 

什麼是錯誤的意思是,如何解決呢?

+0

它告訴你什麼是錯的。代碼正在使用的變量('tId')未定義。要解決該錯誤,請定義變量! – 2010-06-07 20:54:04

回答

0

這意味着什麼,它說:在tId變量從來沒有被分配到。因此你不能把它分配給另一個變量。

有幾件事情錯碼。

首先:

var currTable = $(".dataTable"); 
if (currTable) { 

... currTable總是會truthy使用jQuery。這是因爲即使是空陣列也是真的。預期的測試可能已經if (currTable.length > 0)

它看起來這是測試它是否是一個字符串或數組:

if (s != 'undefined') { 

可以代替做if ($.isArray(s)) {

最後,當您拼接的數組你正在迭代,你會遇到索引問題。

相反,我相信你想要做的是遍歷由$('。table')返回的表並且對s測試這些元素的ID。

0

I have a two tables with a class of "dataTable" loaded on a page (inside of jQuery UI tabs). The tables render as expected but I get the error above in Firebug.

我想你需要使用不同的類名稱爲每個表...

var oFirstTable; 
var oSecondTable; 

$(document).ready(function() { 

    // class = FirstTable 
    oFirstTable = $('.FirstTable').dataTable({ 
     "bJQueryUI": true, 
     "sPaginationType": "full_numbers", 
     "bFilter": false 
    }); 

    // class = SecondTable 
    oSecondTable = $('.SecondTable').dataTable({ 
     "bJQueryUI": true, 
     "sPaginationType": "full_numbers", 
     "bFilter": false 
    }); 
}); 

我目前使用在我申請了幾頁2個數據表和他們工作得很好。