今天在项目中遇到了一个求平均值的需求,大致需求就是,页面上面有四个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
拿出手机扫一扫,希望大家能支持一下:
新闻热点
疑难解答