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);
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);
$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 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认识不够啊!