Javascript 现金面额计算器

Javascript 现金面额计算器,javascript,jquery,Javascript,Jquery,我在jquery中创建了现金面额计算器,一旦添加了条目,它就可以正常工作,但假设您试图更改这些条目,那么它就不会像我预期的那样计算值 只需填充这些值,就可以得到所有值的总和,但如果尝试使用“.mul_by”类更改div中输入框的值[即“=”号之前的小输入框],则无法正确计算总和 这是同样的理由 $'.mul_by'.eachfunction i{ var _this=$this, //在.mul by div内将默认输入值设置为零 setZero=_this.find'.form contro

我在jquery中创建了现金面额计算器,一旦添加了条目,它就可以正常工作,但假设您试图更改这些条目,那么它就不会像我预期的那样计算值

只需填充这些值,就可以得到所有值的总和,但如果尝试使用“.mul_by”类更改div中输入框的值[即“=”号之前的小输入框],则无法正确计算总和

这是同样的理由

$'.mul_by'.eachfunction i{ var _this=$this, //在.mul by div内将默认输入值设置为零 setZero=_this.find'.form control'.val0, //在.mul val div内将默认输入值设置为零 setDenominationVal=_this.sides'.mul_val'.find'.form control.val0, //在.total div内将默认输入值设置为零 setTotalVal=$'.total'.val0; 设置零。关于“更改”,函数{ //监视并存储input val.in.mul_by var getUpdatedVal=_this.find'.form control'.val, //获取标签文本 GetDenominionVal=parseInt_this.girlines'label'.text, //乘法后按div更新mul_ UpdateDomainationVal=_this.sides'.mul_val'.find'.form control'; 如果getUpdatedVal>0{ var VAL=UpdateDomainVal.valgetUpdatedVal*GetDeminationVal; 总计=parseIntsetTotalVal.val+parseIntvals.val; setTotalVal.valtotal; }否则{ UpdateDomainationVal.val0; } }; }; 2000 x = 500 x = 100 x = 总数: =
请检查此代码,我得到了正确的结果,我在最后做了很多更改,希望您能得到期望的结果:-

$(document).ready(function () {
    $('.mul_by').each(function (i) {
        var _this = $(this),
    //set default input value to zero inside .mul-by div
            setZero = _this.find('.form-control').val(0),
    //set default input value to zero inside .mul-val div
                setDenominationVal = _this.siblings('.mul_val').find('.form-control').val(0);

    //set default input value to zero inside .total div
        setTotalVal = $('.total').val(0);       
        setZero.on('change', function () {
    var getcurrentval = $(this).val();
    console.log('getcurrentval',getcurrentval)
    //watch and store input val. inside .mul_by
            var getUpdatedVal = _this.find('.form-control').val(),
      //get label text
                    getDenominationVal = parseInt(_this.siblings('label').text()),
      //update mul_by div after multiplication
                    updateDenominationVal = _this.siblings('.mul_val').find('.form-control');
                console.log(getUpdatedVal,getDenominationVal)
       var vals = 0,total=0;
            if(getUpdatedVal > 0){

       if(updateDenominationVal.val()>0){
            vals = updateDenominationVal.val(getUpdatedVal * getDenominationVal -   updateDenominationVal.val());

          total = parseInt(setTotalVal.val()) + parseInt(vals.val()) ;
          updateDenominationVal.val(getUpdatedVal * getDenominationVal);
          console.log('total',total,'setTotal',setTotalVal.val(),vals.val());
        }
        else{
            vals = updateDenominationVal.val(getUpdatedVal * getDenominationVal);
          updateDenominationVal.val(getUpdatedVal * getDenominationVal);
          total = parseInt(setTotalVal.val()) + parseInt(vals.val());
        }
        console.log(vals.val());


                setTotalVal.val(total);
            } else{
                updateDenominationVal.val(0);
            }
        });
    });
});

如何更改计算值?=之后的字段是根据前一个字段计算的。您将如何以及为什么对其进行编辑?问题是,您只需通过添加已更改的值来更新setTotalVal输入。这意味着这些值只是不断地添加到这个总数中。每次更改一个数字时,您需要重新计算所有方程式,然后将结果设置为SetTotalVal中的值,这就是我感到困惑的地方。您能告诉我怎么做吗?您是说=符号后的字段是可编辑的吗?当有人更新/更改该字段中的值时,应更新总数吗?是吗?是的,如果您在该框中做一些更改,总数将得到更新