【问题标题】:How to create subtraction's function in javascript如何在javascript中创建减法函数
【发布时间】:2019-05-21 15:33:02
【问题描述】:
  1. 我正在尝试做加法——将所有价格相加和减法——减去价格函数
  2. 结果为十进制/浮点数

$('.add').keyup(function () {
    
    var sum = 0;

    $('.add').each(function() {
        sum += Number($(this).val());
    });

    $('#total').val(sum);

});
<strong>price1 : </strong>
<input type="text" name="IT" class="add" style="width:150px" required><br><br>

<strong>price2 : </strong>
<input type="text" name="roadtax" class="add" style="width:150px" required><br><br>

<strong>price3 : </strong>
<input type="text" name="servis" class="add" style="width:150px" required><br><br>

<strong>price4 : </strong>
<input type="text" name="other" class="add" style="width:150px" required><br><br>

<strong>discount : </strong>
<input type="text" name="disc" class="sub" style="width:150px" required><br><br>

<strong>total : </strong>
<input type="text" id="total" name="total" style="width:150px">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js "></script>
  1. 可以做减法
  2. 我希望输出为十进制/浮点数

【问题讨论】:

  • “我希望输出为小数/浮点数” - 如果您输入小数/浮点数。如果你只输入整数,你会得到一个整数。

标签: javascript html add subtraction


【解决方案1】:

如果我的问题没看错,这应该会对你有所帮助。

  1. 同时监听sub-inputs 的事件。
  2. 减去sub-inputs 的值。
  3. 在总和上调用 toFixed 以获得小数输出。

$('.add, .sub').keyup(function () { // 1
    
    var sum = 0;

    $('.add').each(function() {
        sum += Number($(this).val());
    });
    
    $('.sub').each(function() {
        sum -= Number($(this).val()); // 2
    });

    $('#total').val(sum.toFixed(2)); // 3

});
<strong>price1 : </strong><input type="text" name="IT" class="add" style="width:150px" required><br><br>
<strong>price2 : </strong><input type="text" name="roadtax" class="add" style="width:150px"required><br><br>
<strong>price3      : </strong><input type="text" name="servis" class="add" style="width:150px"required><br><br>
<strong>price4  : </strong><input type="text" name="other" class="add" style="width:150px"required><br><br>
<strong>discount : </strong><input type="text" name="disc" class="sub" style="width:150px"required><br><br>
<strong>total : </strong><input type="text" id="total" name="total" style="width:150px">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js "></script>

【讨论】:

    【解决方案2】:

    试试这个:

    $('.add').keyup(
        var sum = 0;
    
        $('.add').forEach(function() {
            sum += $(this).val();
        });
    
        sum -= $('.sub').val();
    
        $('#total').val(sum);
    });
    

    或者,如果这不起作用,那么您可以为每个文本框赋予其自己的唯一 ID(例如 id="roadTax"),然后您可以这样做:

    $('.add').keyup(
        var sum = 0;
    
        sum += $("#roadTax").val();
        sum += $("#services").val();
        sum += $("#other").val();
    
        sum -= $('#discount').val();
    
        $('#total').val(sum);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 2012-03-19
      • 2021-04-02
      • 2017-02-02
      • 2011-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多