2013-10-31 33 views
0

我正在計算使用乘法和加法形式,但我似乎無法得到件正確擠在一起....動態輸入字段的總和? jQuery的

http://jsfiddle.net/cSfYE/

$('.qty').on('keyup', function() { 
var sum = 0; 
$("tbody tr").each(function(i,o){ 
    total = parseInt($(o).find(".qty").val(), 10) * parseInt($(o).find(".price-integer").val(), 10); 
    if(!isNaN(total) && total.length!=0) { 
     $(o).find(".install-total").val(total); 
     sum += total; 
    } 
}); 
$("#total-equipment").val(sum); 
}); 

當用戶數量類型,例如第一列中的2,應該乘以第四列中的數字(3,000),並輸出到安裝總計列中。

然後需要將安裝總計列中的所有數字相加並輸出到總設備成本輸入字段中。

最後,+安裝數字需要加起來。

而這一切都必須發生在用戶輸入數量後,該部分工作。好極了。


我似乎無法得到正確的語法!過去幾天我一直在看stackoverlow.com的帖子,沒有任何工作,所以我希望有人可以給我一個骨頭,幫助我。我真的很感激你的時間。

+1

'$(o).find(「.qty」).val()'是一個問題,td沒有值。嘗試'$(o).find(「input.qty」)。val()'。當你拿到價格時你犯了同樣的錯誤。 –

回答

5

問題在行內的選擇器上升。你引用的<td>類,而不是在其中

這個工程的投入,但可能阿洛斯考慮增加類的投入,而不是

total = parseInt($(o).find(".qty input").val(), 10) * parseInt($(o).find(".price-integer input").val(), 10); 

DEMO Updated

編輯:addiitonal注 - 刪除測試長度因爲整數沒有長度

+0

謝謝你!對此,我真的非常感激。它工作得很好。 還有一件事 - 我試圖讓+安裝部分工作。我更新了JS小提琴: http://jsfiddle.net/cSfYE/1/ 因此,如果在前三個字段中填寫數量,則將安裝成本(這是一個隱藏的輸入字段) 。我認爲我所做的是正確的,但不起作用。 想法? – Stephanie

+0

沒有看到任何隱藏字段......它在哪裏?此外,爲什麼你不能只是將它添加到'if(!isNaN)' – charlietfl

+0

嗨Charlietfl,對不起,我剛剛添加它。 http://jsfiddle.net/cSfYE/3/ Stephanie