2016-07-28 6 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);    

     }); 

が非数値キーをエスケープするには:私はchDiscount入力に入力すると

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; 
    } 

問題があり、cBalanceの新しい値は結構ですが、私はchDiscount値を消去すると、私はもはやできましたcBalance入力の古い(デフォルト)値を取得します。ディスカウント値を削除すると古い値が欲しいです。どうやってやるの?助けてください。ありがとう。

答えて

0

jqueryを使用していますか?私はjqueryのファンですので、私はjqueryに関する私の提案ベースを持っています。あなたはこれで私が望むアイデアを得ることができます。

要素jqueryで最初に使用する初期値は、その例を格納していますか?

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

(3総割引あったと仮定して)バランス入力として10を使用しようとすると3とそれを差し引くhttps://jsfiddle.net/jeorlie/b71epf02/

この単純なフィドルを試してください。あなたはバランスの7を得るでしょう。割引を削除すると(0にする)、元の値になります。

フィドルのこのコードはバグですが、あなたはそれを使ってアイデアを得ることができます。分析するだけです。ところで。グローバルにアクセス可能な変数にBalanceの元の値を格納することができます。あなたはそれでアイデアを得ることを願っています。

+0

これは本当に役立ちます。 –

関連する問題