0

私は以下のコードを持っています:

var LabourItems = {
   rate: null,
   hours: null,
   total: null,
   init: function(object) {
      var rate = $(object).children('.rate').first();
      var hours =$(object).children('.hours').first();
      total = rate * hours;
      updateTotal(object,total);
   },
   updateTotal: function(object,  total) {
      $(object).children('.total').first().attr('value', total)
   }
}

//reactTochange for those inputs that you want to observe
$('.hours').live("click", function() {
   jQuery.each($('.labouritems'), function(key,value){
      LabourItems.init(value);
   });
});

未定義の関数エラーが発生します:

updateTotal(オブジェクト、合計) は定義されていません

私が間違っていることを教えてください。

4

1 に答える 1

8

updateTotalLabourItemsその呼び出しの関数です

LabourItems.updateTotal(object,total);

または (他の関数LabourItemsまたはそのインスタンスから呼び出された場合のみ)

this.updateTotal(object,total);

アップデート :

var LabourItems = {
   rate: null,
   hours: null,
   total: null,
   init: function(object) {
      var rate = $(object).children('.rate').first();
      var hours =$(object).children('.hours').first();
      this.total = rate * hours;
      this.updateTotal(object);
   },
   updateTotal: function(object) {
      $(object).children('.total').first().attr('value', this.total)
   }
}

//reactTochange for those inputs that you want to observe
$('.hours').live("click", function() {
   jQuery.each($('.labouritems'), function(key,value){
      LabourItems.init(value);
   });
});
于 2012-10-18T07:54:14.823 に答える