表格each的使用,获得某一列叠加结果,,摆脱出现的循环判断错误和类型错误 nan

function sampcf(inputObj) {
$tr = $(inputObj).closest('tr');

var sum = 0;
//var x = new Array();
$('[name="sampleSize"]' ).each(function() {
// total += parseInt($(this).val()); 
var t = $(this).val();
if (t){
sum = sum + Number(t);
}
})
$('input[name="model.product.samQty"]').val(sum);

}

-------------------

getActiveDom().on('change', '[name=sampleSize]', function() {
sampcf(this,$curTab);//change visualInspect functionTestQty
var $curTab = getActiveDom();
}); 

---------------上面是对的,下面是错误分析:


var sum = 0,i;

var x = new Array();
$('[name="sampleSize"]' ).each(function() {
// total += parseInt($(this).val()); 
var t = $(this).val();
if (t){
x.push($(this).val());
}
})

for(i = x.length; i--;){

       if(x[i].val){
       sum += parseInt(x[i].val);
       sum += parseInt(x[i].val);

       }}

可能 t 本来可以是数组,,然后我定义一个数组x,在对其遍历时候,跳过for-if判断,不能但是现实 数的叠加,去掉if 判断,返回sum是nan,

分析:首先是我判断条件是错的,value是对象的话才有,数组直接x【i】就okl,

其次,去掉判断后,变成字符串的拼接,这个和push有关? ‘’+“”+123?

each和for 重复造成这样,还是each认识不够啊!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值