2012-07-16 74 views
1

我縮短了下面的腳本:JavaScript錯誤 - 對象沒有方法

var HTH = HTH || {}; 

(function() { 
    var assetGrouping = function() { 
     var self = this; 

     this.options = { 
      _tmpElement:  '', 
      QuantityAssigned: 0, 
      qtyInputField:  '' 
     }; 

     this.init = function(options){ 
      // ... 
      this.options.QuantityAssigned = 0; 
      jQuery(this.options.qtyInputField).bind('keyup', function(){ 
       self._tmpElement = jQuery(this); 
       self.CalculateQuantityAssigned(); 
      }); 

      // ... 
     } 

     CalculateQuantityAssigned = function(){ 
      // ... 
     } 
    } 

    HTH.assetGrouping = new assetGrouping(); 
})(); 

$(document).ready(function(){ 
    HTH.assetGrouping.init({ 
     qtyInputField: 'input[name^="at700_group_qty"]' 
    }); 
}); 

錯誤發生在下面一行:self.CalculateQuantityAssigned();,誤差在Uncaught TypeError: Object [object Object] has no method 'CalculateQuantityAssigned'

我不明白。使用this當然會失敗,當我想訪問self.options而不是self.CalculateQuantityAssigned()時,self正在工作。

謝謝。

+3

this.CalculateQuantityAssigned – 2012-07-16 20:49:39

+0

@fliespl感謝。 – 2012-07-16 20:56:24

回答

5

變化:

CalculateQuantityAssigned = function(){ 
      // ... 
} 

this.CalculateQuantityAssigned = function(){ 
      // ... 
} 
+0

天啊......哇!我忘了這個......漂亮的眼睛,這一定是疲倦的跡象。非常感謝 !將盡快接受。 – 2012-07-16 20:51:52

1
(function() { 
}); <-- You have a function, but you never execute it! 

您需要添加();

+0

你說得對,'})();'。它在那裏,只是我沒有放在上面的「演示」腳本中。 – 2012-07-16 21:09:47

相關問題