我如何使用JavaScript将这两个数字相加

时间:2019-01-05 11:04:26

标签: javascript

我有两个使用JavaScript计算数量和增值税数量的数字。现在我该怎么做?

{{rowCount = 0}}
{% for picture in pictures[item.id]%}

    <td style="margin-top: {{count += 25}}px">
         <img src="{{url_for('static', filename=picture)}}" style="z-index:0;" />
    </td>
{% endfor %}

然后是应付金额

<tr>
  <th>Amount: </th>
  <td><input id="amount" type="text" name="amount" class="form-control" required />
  </td>
</tr>

<tr>
  <th>VAT 20% Amt: </th>
  <td>
    <input id="vatAmt" type="text" name="vatAmount" class="form-control" />
  </td>
</tr>

<tr>
  <th>Total Amount: </th>
  <td>
    <span id="totalAmount"></span>
  </td>
</tr>

我的JavaScript代码如下:

<div class="col-md-6" >
    <h3>Amount Due: £ <span id="amountValue"></span></h3>   
</div>

有人可以帮我解决这个问题吗?非常感谢任何帮助。 TIA

2 个答案:

答案 0 :(得分:0)

在第二个value处理程序中未定义

keyup。您需要定义它:

$("#vatAmt").keyup(function () {

    var value = $("#amount").val(); // <--- here
    var valueVat = $(this).val();
    var sum = value + valueVat;
    $("#totalAmount").text(sum);

}).keyup();

在函数内定义变量时,该变量仅在该函数内可用。另一个选择是在全局范围内定义它,但我通常更喜欢将范围限制为仅在需要时使用。在keyup的{​​{1}}处理程序中,您需要两个值,因此您将有两个对#varAmt的调用才能获得两个值。

注意:可能,您可能还想使用.val()或类似的方法来执行添加操作:

parseInt

JavaScript对于类型非常宽容,但如果您依赖于类型,则有时会出现错误。并且$("#vatAmt").keyup(function () { var value = parseInt($("#amount").val()); // <--- here var valueVat = parseInt($(this).val()); // <--- and here var sum = value + valueVat; $("#totalAmount").text(sum); }).keyup(); 返回一个字符串,因为输入是文本,即使该文本碰巧是数字字符。

答案 1 :(得分:0)

可以做到

<tr>
  <th>Amount: </th>

  <td><input id="amount" type="number" name="amount" class="form-control" required />

  </td>
</tr>

<tr>
  <th>VAT 20% Amt: </th>
  <td>
    <input id="vatAmt" type="number" name="vatAmount" class="form-control" />
  </td>
</tr>

<tr>
  <th>Total Amount: </th>
  <td>
    <span id="totalAmount"></span>
  </td>
</tr>



<div class="col-md-6">
  <h3>Amount Due: £ <span id="amountValue"></span></h3>

</div>




var value;
$("#amount").keyup(function() {
   value = $(this).val();
 $("#amountValue").text(value);

})

$("#vatAmt").keyup(function() {
    var valueVat = $(this).val();
    var sum = Number(value) + Number(valueVat);

    $("#totalAmount").text(sum);
  }).keyup();