今天在項目中遇到了一個求平均值的需求,大致需求就是,頁面上面有四個input框,失去焦點就計算平均值,結果保留兩位小數,並輸出在頁面上。不多說了,直接奉上代碼,如有更好思路或者想法,都歡迎大家和我討論。代碼如下:
html:
<div id="par">
<input id="test1" class="err" type="text" placeholder="測試信息" value="" />
<input id="test2" class="err" type="text" placeholder="測試信息" value="" />
<input id="test3" class="err" type="text" placeholder="測試信息" value="" />
<input id="test4" class="err" type="text" placeholder="測試信息" value="" />
<div id="test5"></div>
</div>
js:
function handler(arr,avgId){
var l = arr.length,num = 0,sum=0;
for(var i=0;i<l;i++){
sum += getValue(arr[i]);
}
function getValue(id){
var t = typeof id == "object"?id:$("#"+id),val = t.val();
if(!isNaN(val)&&val!=""){
num+=1;
val = Number(val);
}else{val=0;t.val("")};
return val;
}
avgId = typeof avgId =="object"?avgId:$("#"+avgId);
num == 0 ? avgId.text("") : avgId.text((sum/num).toFixed(2));
}
var myArr = ["test1","test2","test3","test4"];
$("#par").on("change",".err",function(){
handler(myArr,$("#test5"));
})
/**
*注意:代碼依賴jQuery,使用前,請先引入
*/
轉載請注明出處:http://www.cnblogs.com/callmesummer/p/3940222.html
拿出手機掃一掃,希望大家能支持一下:

