Рассчитать скидку с помощью 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, Когда я набираю значение скидки, например, 500 в chDiscount вход, это дает мне 1020 а не 1075. а я хочу значение 1575 быть 1575 когда нет значения или нулевого значения в chDiscount вход. И, как только я набираю новое значение на входе chDiscount, caculation продолжает увеличивать значение cBalance, оно не увеличивается по сравнению со значением по умолчанию. Мои выходные данные: когда я набираю 500, я хочу, чтобы значение по умолчанию 1575 было 1075. И если я удаляю 1000, которые я печатаю, я хочу вернуть значение по умолчанию 1575 в cBalance. И если я введу 5 в chDiscount, значением по умолчанию станет 1570, а если я нажму клавишу Backspace для удаления, оно снова станет 1575. Как мне этого добиться? Где я неправ? Пожалуйста помоги.

2 ответа

Решение

$(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

Другие вопросы по тегам