input表单合计问题!!

581b0d2300011cb605000278.jpg

581b0d240001a97a04400469.jpg

581b0d240001e7a205000283.jpg

581b0d250001964103070059.jpg

function total_account() {                    var integer = $('.lent .integer');                    var decimal = $('.lent .decimal');                    var lent_total_integer = $('.lent-total-integer');//最下面表格合计同样有
                    两个input,这个代表左侧的                    var lent_total_decimal = $('.lent-total-decimal');//最下面表格合计同样有
                    两个input,这个代表右侧的                    for(var i = 0; i < integer.length; i++) {                        if(integer[i].value!=''){      //直接卡在判断1//     if(integer[i].nextElementSibling.value=='') {
                                var arr = [];                                var str = integer[i].value+',' ; 
                                str.split(',');
                                alert(str.length);
                                arr.push(str);                                
                                            
//                                lent_total_integer.innerHTML = integer[i].value;
                            }else{
                                alert(integer[i].value)
                                alert(integer[i].nextElementSibling.value)
                                lent_total_integer.value = integer[i].value;
                                lent_total_decimal.value = integer[i].nextElementSibling.value;
                            };
                            
                        };

                    };
                };

我的思路是如下代码
先判断表单是否有值,在进行判断一是只输入了整数,二既输入了整数又输入了小数
for循环有值的表单,获取他们每一个的value ,然后在value的结尾处加个逗号,
然后split(',')分割他们,arr.push()进数组,循环数组并且相加,显示在合计表单里
不知道大神有没有好的解决方法

你明眸中的海
浏览 1447回答 1
1回答

慕田峪3555374

说下我的思路啊,首先,给每个input框添加一个change事件,然后在这个事件里面获取当前框的值,计算的时候不用每次都逐个累加,可以先获取改变的那个值和总的值,用总的值减去当前框的旧值然后加上新值就可以了;当然你那个我觉的可以分开来算,先循环分别把所有整数和小数分别累加,循环结束再把整数部分和小数部分相加就可以了
打开App,查看更多内容
随时随地看视频慕课网APP