您的位置:首页 > Web前端 > JavaScript

JS-----------实现计算小计和合计的金额

2016-09-01 00:00 309 查看


实现上图的这种效果:每一次改变天数或者改变标准以后,对应的酬金和合计都随之改变

思路:

每一行后面的酬金随着改行的天数或者标准改变;合计是由各行的酬金相加得到。

天数和标准的input都有一个sumAmt()函数 :onblur="sumAmt();" 其中sumAmt函数

中循环计算每一行的酬金,最后合计把每一行的酬金相加

//计算酬金和合计
function sumAmt(){
var totalAmt = 0.00;
//获取table的rows
var myRows = $id("mingxi").rows;
//遍历table的行数
for(var i=0;i<myRows.length;i++){
if($id("myValue" + i) == null){
continue;
}
//myValue+i:学号/工号
var myValue = $id("myValue" + i).value;
if(myValue == null){ //未选择人员
continue;
}
//取计算小计需要的天数、标准
var myDays = $id("days" + myValue).value.trim();
if(myDays == ""){
myDays = 0.00;
}
//取标准(元/天)
var myUnit = $id("standard" + myValue).value.trim();
if(myUnit == ""){
myUnit = 0.00;
}
//myUnit.replace(/(,)/g,""):去除10,000中的","
if(myUnit.replace(/(,)/g,"") > 1000){
alert("标准超支(1000)");
$id("standard" + myValue).value = formatCurrency(0);
return;
}
var mySum = myDays * (myUnit.replace(/(,)/g,"")) ; //小计
//小计的酬金的赋值
$id("amt" + myValue).innerHTML = formatCurrency(mySum);
$id("amt_" + myValue).value = formatCurrency(mySum);
//合计
totalAmt += mySum;
$id("jbamt").innerHTML = formatCurrency(totalAmt);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: