我试图计算多个字段的值,并将总数放在另一个框中。它适用于整数,但出于某种原因,例如,不会添加7.25或7.50。
我尝试更改tot += parseInt(arr[i].value).toFixed(2);
,但这不起作用。任何帮助表示赞赏。
function findTotal(){
var arr = document.getElementsByName('monday');
var tot=0;
for(var i=0;i<arr.length;i++){
if(parseInt(arr[i].value))
tot += parseInt(arr[i].value);
}
document.getElementById('totalHours').value = tot;
}
&#13;
Monday : <input onblur="findTotal()" type="text" name="monday" id="monday1"/><br>
Monday : <input onblur="findTotal()" type="text" name="monday" id="monday2"/><br>
Monday : <input onblur="findTotal()" type="text" name="monday" id="monday3"/><br>
Monday : <input onblur="findTotal()" type="text" name="monday" id="monday4"/><br>
Monday : <input onblur="findTotal()" type="text" name="monday" id="monday5"/><br>
Monday : <input onblur="findTotal()" type="text" name="monday" id="monday6"/><br>
<br><br>
Total : <input type="text" name="total" id="totalHours"/>
&#13;
答案 0 :(得分:4)
parseInt
将删除小数部分
你应该使用parseFloat
答案 1 :(得分:1)
用户parseFloat()而不是parseInt(),
function findTotal(){
var arr = document.getElementsByName('monday');
var tot=0;
for(var i=0;i<arr.length;i++){
if(parseFloat(arr[i].value))
tot += parseFloat(arr[i].value);
}
document.getElementById('totalHours').value = tot;
}
答案 2 :(得分:0)
tot += Number(Number(arr[i].value).toFixed(2))