2016-07-28 136 views
0

我正尝试使用下面的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输入的旧(默认)值。如果我删除折扣价值,我想要旧值。我怎样才能做到这一点?请帮忙。谢谢。

回答

0

你在使用jQuery吗?我与jQuery的粉丝,所以我会有我的建议基于jQuery。你可以用这个我希望的想法得到想法。

怎么样存储初始值在元素jquery中使用的第一个例子。

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

尝试这个简单的拨弄https://jsfiddle.net/jeorlie/b71epf02/

尝试使用10作为平衡输入,并用3(假定3为总折扣)中扣除。余额中会得到7。如果您取消折扣(使其为0),您将获得原始价值。

这个小提琴中的代码是越野车,但你可以得到它的想法,只是分析它。顺便一提。您可以将Balance的原始值存储到全局可访问的变量中。希望你能得到它的想法。

+0

这真的有帮助。 –