Jquery 中的递减和递增值

Decrementing and incrementing value in Jquery

我正在尝试使用以下 jquery 代码即时计算折扣。

$(document).on("change keyup blur", "#chDiscount", function(){ 
        var amd=$('#cBalance').val();
        var disc = $('#chDiscount').val();
        if(isNaN(disc)){
            disc = 0;
        }
         $('#cBalance').val(amd-disc);             

      });

转义非数字键:

    var specialKeys = new Array();
    specialKeys.push(8,46); //Backspace
  function IsNumeric(e) {
    var keyCode = e.which ? e.which : e.keyCode;
    console.log( keyCode );
    var ret = ((keyCode >= 48 && keyCode <= 57) || specialKeys.indexOf(keyCode) != -1);
    return ret;
  }

问题是当我输入 chDiscount 输入时,cBalance 的新值很好,但是当我擦除 chDiscount 值时,我无法再获得 cBalance 输入的旧(默认)值。如果删除折扣值,我需要旧值。我怎样才能做到这一点?请帮忙。谢谢

您在使用 jquery 吗?我是 jquery 的粉丝,所以我会根据 jquery 提出我的建议。我希望你能从中得到一些想法。

在元素jquery中首先使用的存储初始值有那个例子。

$('#cBalance').data({origValue: 999});

试试这个简单的 fiddle https://jsfiddle.net/jeorlie/b71epf02/

尝试使用 10 作为余额输入并用 3 减去它(假设 3 是总折扣)。你会得到 7 的平衡。如果您删除折扣(使其为 0),您将拥有原始价值。

fiddle 中的这段代码有问题,但您可以从中获得灵感,只需对其进行分析。顺便一提。您可以将 Balance 的原始值存储到可全局访问的变量中。希望你能从中得到灵感。