2012-10-19 29 views
1

我有下面的代碼,這是爲了計算插入的每個實例(行)的兩個字段。值得到更新的字段的所有實例

目前它填充所有'總'字段,而不是僅僅對應於相應的行。

也在所有字段中插入'NaN'。

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 = Number(rate) * Number(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); 
    }); 
}); 
+1

當你將jQuery實例傳遞給Number()時,你期望的是'NaN'嗎? – Bergi

+0

含義'this.total = Number(rate.val())* Number(hours.val());'應該更好。也可以使用.on代替.live,這已被棄用 – mplungjan

回答

0

您還沒有采取值的字段

var rate = parseInt($(object).children('.rate').val(), 10); 

[無需.first()爲使用.val()時讀的隱]

此外,你應該使用.val()設置總值也不是.attr('value', ...)

+0

hiya,NaN已經停止,但沒有讓總計填充到現場 – user979587

相關問題