2016-07-28 172 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

這真的有幫助。 –