2014-04-22 70 views
0

我有一个“getPrice”函数,它可以正常工作并计算多个事件的价格。Javascript总功能不起作用

在这一功能就在于我的循环:

for (var i = 0; i < inputs.length; i++) { 

    // STORE a reference to aInputElements[ counter ] 
    var currentElement = inputs[i]; 

    // IF currentElement is a checkbox AND currentElement is checked 
    if (currentElement.type == "checkbox" && currentElement.checked) { 

     eventTotal = eventTotal + +currentElement.title; 

    } 

} 

// Assign total to input with "£" infront 
totalbox.value = "£" + parseFloat(eventTotal).toFixed(2); 

然而,当我尝试来计算价格和交货在一起,只有列表中选择的第一个事件被添加到总:

for (var i = 0; i < inputs.length; i++) { 

    // STORE a reference to aInputElements[ counter ] 
    var currentElement = inputs[i]; 

    // IF currentElement is a checkbox AND currentElement is checked 
    if (currentElement.type == "checkbox" && currentElement.checked) { 

     eventTotal = eventTotal + currentElement.title; 

    } 

    // IF currentElement is radio AND currentElement is checked 
    if (currentElement.type == "radio" && currentElement.checked) { 

     deliveryTotal = deliveryTotal + currentElement.title; 

    } 

} 

// Assign total to input with "£" infront - Parse into a number (as a float) - to 2 decimal places 
totalbox.value = "£" + (parseFloat(eventTotal) + parseFloat(deliveryTotal)).toFixed(2); 

有人可以提供一些建议,告诉我我做错了什么吗?

+0

你可以创建一个jsFiddle.net的例子吗? – j08691

+0

你刚刚几分钟前发布这个吗? – durbnpoisn

+0

是的,但是预览问题被删除了,因为我决定重写它以尝试更清楚。 – user2279981

回答

0

inputs.length真的是你认为的吗? 也许您错误地将复选框命名?

alert('currentElement is [' + currentElement + ']');就在你的var currentElement = inputs[i];后面看看。