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

来源:互联网 发布:java中执行js代码 编辑:程序博客网 时间:2024/06/07 05:11
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认识不够啊!




0 0
原创粉丝点击