我解決了這個問題。工作示例可以在這裏找到:http://jsfiddle.net/jnhxdztr/
$(document).ready(function(){
//iterate through each textboxes and add keyup
//handler to trigger sum event
$(".add").each(function() {
$(this).bind("click keyup", function(){
calculateSum();
});
});
});
function calculateSum() {
var sum = 0;
//iterate through each textboxes and add the values
$("input.add:checked, select .add:selected, input.add:not(:radio)").each(function() {
console.log(this);
//add only if the value is number
if(!isNaN(this.value) && this.value.length!=0) {
sum += parseInt(this.value);
}
});
//.toFixed() method will roundoff the final sum to 2 decimal places
$("#sum").html(sum.toFixed(0));
}
我看看你的代碼,風格也不是那麼好,如果我需要給你一個解決方案,我需要重寫一切。因此,我只提供一些建議。 1. calcTotal()函數可以計算一切的總量,然後有一個返回值。 2.你的選擇沒有對應於成本的價值。 3.最好有一個成本值的id,然後每次發生事件時使用id來更新成本值。 4如果您使用div或其他html標籤來安排您的html佈局應該會更好。 – 2014-12-02 00:50:15
感謝您的建議。但是,在功能完備的情況下,沒有什麼重點。輸出只需要是一個臨時輸出。因爲所有其他的價格都是在ultracart的後端進行計算的。但是,是的選項沒有你看到的例子中的值,因爲這些選項的jquery不起作用。 Ultracart使用表格作爲基礎HTML,但是當分區功能完全正常時,分區將在以後添加到樣式中。 – Tyson 2014-12-02 01:51:42