使用 jquery 计算折扣

Calculate discount using jquery

我正在使用 jquery 计算折扣。但是我在计算正确的折扣时遇到了问题。我的计算给出了错误的结果。

这是我的代码

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

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<input type="number" id="cBalance" value="1575">
<br>
<input type="number" id="chDiscount">

我有一个 cBalance 输入的预填充值,即 1575。当我在 chDiscount 输入中键入折扣值(例如 500)时,它会给我 1020 而不是 1075。当没有值时,我希望值 15751575chDiscount 输入中的零值。每当我在 chDiscount 输入中键入新值时,计算都会不断增加 cBalance 值,它不会从默认值增加。 我的预期输出:当我键入 500 时,我希望默认值 1575 为 1075。如果我删除我键入的 1000,我希望在 cBalance 中恢复默认值 1575。如果我在 chDiscount 中键入 5,默认值将变为 1570,如果我按退格键删除,它将再次变为 1575。 我怎样才能做到这一点?我哪里做错了?请帮忙

$(document).on("change keyup blur", "#chDiscount", function() {
  var amd = $('#cBalance').val();
  var disc = $('#chDiscount').val();
  if (disc != '' && amd != '') {
    $('#result').val((parseInt(amd)) - (parseInt(disc)));
  }else{
    $('#result').val(parseInt(amd));
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<input type="number" id="cBalance" value="1575">
<br>
<input type="number" id="chDiscount">
<br>
<input type="number" id="result">

我添加了结果字段,否则你无法指定 amd

如上所述,代码只是减去主值。这是精确解

<input type="number" id="cBalance" value="1575"> <br>
   <input type="number" id="chDiscount"> <br>
   <input type="number" id="result">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

$(document).on("change keyup blur", "#chDiscount", function() {
  var main = $('#cBalance').val();
  var disc = $('#chDiscount').val();
  var dec = (disc/100).toFixed(2); //its convert 10 into 0.10
 var mult = main*dec; // gives the value for subtract from main value
 var discont = main-mult;
  $('#result').val(discont);
});

JSFIDDLE