Jquery Автоматический расчет - PullRequest
1 голос
/ 22 марта 2020

Кредиты владельцу кода.

Как я могу превратить скрипт в multiplication? скрипт addition из .amount. Пожалуйста, помогите.

<tr>
  <td>
    <input type="text" class="form-control input-sm text-right amount" >
  </td> 
  <td>
    <input type="text" class="form-control input-sm text-right amount">
  </td>
  <td>
    <input type="text" class="form-control input-sm text-right" id="total_amount" readonly>
  </td>
</tr>
<script>
  $(function() {

      $('.amount').mask('#,###.##',{reverse : true});

      var total_amount = function() {
          var sum=0;
          $('.amount').each(function(){
              var num = $(this).val().replace(',','');

              if(num != 0) {
                  sum +=parseFloat(num);
              }    
          });
          $('#total_amount').val(sum.toFixed(2));
      }
       $('.amount').keyup(function(){
          total_amount();
       });
  });
</script>

1 Ответ

1 голос
/ 22 марта 2020

Элемент идентичности (или нейтральный элемент) операции умножения в вещественные числа равен единице. Таким образом, ваш var sum = 1; будет таким.

После каждой итерации, в вашем случае два жестко закодированных, вы умножаете сумму на новое число. Следовательно, изменение sum *=parseFloat(num).

Это оставляет вас со старым регулярным умножением.

  $(function() {

      $('.amount').mask('#,###.##',{reverse : true});

      var total_amount = function() {
          var sum=1;
          $('.amount').each(function(){
              var num = $(this).val().replace(',','');

              if(num != 0) {
                  sum *=parseFloat(num);
              }    
          });
          $('#total_amount').val(sum.toFixed(2));
      }
       $('.amount').keyup(function(){
          total_amount();
       });
  });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://igorescobar.github.io/jQuery-Mask-Plugin/js/jquery.mask.min.js"></script>
<tr>
  <td>
    <input type="text" class="form-control input-sm text-right amount" >
  </td> 
  <td>
    <input type="text" class="form-control input-sm text-right amount">
  </td>
  <td>
    <input type="text" class="form-control input-sm text-right" id="total_amount" readonly>
  </td>
</tr>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...