未定义的javascript函数

use*_*587 0 javascript jquery

我有以下代码:

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);
   });
});
Run Code Online (Sandbox Code Playgroud)

并确定未定义的函数错误:

updateTotal(object,total)未定义

你能不能让我知道我做错了什么.

Dio*_*ode 8

updateTotal是一个函数LabourItems,以便调用

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);
   });
});
Run Code Online (Sandbox Code Playgroud)