简单的jquery总和
我有未知数量的输入字段,有类“添加”我只是想用jquery来总结这些,不知道我错在哪里。
`
function add(){ val = 0; $(".add").each(function() { str = (parseInt(this.value)) sum=str+str }); alert (sum) }
`
你永远不会真正添加东西:
function add() { var sum = 0; $(".add").each(function() { sum += +this.value; }); return sum; // an add function shouldn't really "alert" }
如果打算只支持整数,请使用parseInt(this.value, 10)
[注意基数参数]而不是+this.value
:
function add() { var sum = 0; $(".add").each(function() { var str = this.value.trim(); // .trim() may need a shim if (str) { // don't send blank values to `parseInt` sum += parseInt(str, 10); } }); return sum; }
见http://jsfiddle.net/alnitak/eHsJP/
function add(){ var sum = 0; $(".add").each(function() { var val = parseInt($(this).val(), 10) sum += (!isNaN(val) ? val : 0); }); alert(sum); }
编辑:锐利的眼睛,得到括号…… =)和空间。
如果您不需要支持IE8,那么您可以使用本机Javascript Array.prototype.reduce()
方法。 您需要先将JQuery对象转换为数组:
function add() { return $('.add').toArray().reduce(function(sum,element) { return sum + Number(element.value); }, 0); }
参考: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce