【问题标题】:Total price and Quantity in JavascriptsJavascript 中的总价格和数量
【发布时间】:2019-03-18 07:30:47
【问题描述】:

大家好,我正在尝试获取每件商品的总价和数量。所以,我的固定价格是 20 美元。价格很好,但没有计算每件商品的数量....

HTML code

HTML-Continous

这是总数量的代码,在输入字段中可以正常工作。

function changeval() {
    $total = parseInt($("#A1").val()) + parseInt($("#B1").val()) + parseInt($("#C1").val()) + parseInt($("#D1").val()) + parseInt($("#E1").val());

    $('.A').val($("#A1").val());
    $('.B').val($("#B1").val());
    $('.C').val($("#C1").val());
    $('.D').val($("#D1").val());
    $('.E').val($("#E1").val());
    $('.total').val($total);
}

这是问题,当我添加此代码时,价格很好,但数量不再显示。

function changeval() {
    $price = parseInt($("#A1").val() * 20) + parseInt($("#B1").val() * 20) + parseInt($("#C1").val() * 20) + parseInt($("#D1").val()* 20) + parseInt($("#E1").val()* 20);

    $('.A').val($("#A1").val());
    $('.B').val($("#B1").val());
    $('.C').val($("#C1").val());
    $('.D').val($("#D1").val());
    $('.E').val($("#E1").val());
    $('.price').val($price);
}

所以我想要这样的东西

价格 = 20 数量 = 1 价格 = 40 数量 = 2 '' '' 因为我有 20 个作为固定价格。任何帮助将不胜感激。

【问题讨论】:

  • 请发布您的 HTML 代码。
  • 另外,不要用 java 标记 javascript 问题。他们不一样
  • 可能与 parseInt 方法内部而不是外部的乘以 20 有关
  • 发布您的 HTML,以便我们更好地为您提供建议。
  • 大家好,我已经上传了 html。

标签: javascript php html laravel-5


【解决方案1】:

如果您想同时获得 TotalQuantity 和 TotalPrice,则应先计算 TotalQuantity,然后计算 TotalPrice = TotalQuantity * 20(因为您对所有商品都有固定价格)。

$(document).ready(function() {
  // Handle onchange event for input number
  $('.qty').on('input', function() {

    $qty_total = 0;
    // Calculate total qty
    $(".qty").each(function() {
      $qty_total += parseInt($(this).val());
    });

    // Update to Qty input
    $("#qty_total").val($qty_total);

    // Update to Price input
    $("#price_total").val($qty_total * 20);
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <table>
    <tr>
      <td>Item A</td>
      <td><input value=1 type="number" id="qty1" class="qty"></td>
    </tr>
    <tr>
      <td>Item B</td>
      <td><input value=2 type="number" id="qty2" class="qty"></td>
    </tr>
    <tr>
      <td>Item C</td>
      <td><input value=3 type="number" id="qty3" class="qty"></td>
    </tr>
    <tr>
      <td>Item D</td>
      <td><input value=4 type="number" id="qty4" class="qty"></td>
    </tr>
    <tr>
      <td>Item E</td>
      <td><input value=5 type="number" id="qty5" class="qty"></td>
    </tr>
    <tr>
      <td>Total Qty</td>
      <td><input id="qty_total"></td>
    </tr>
    <tr>
      <td>Total Price</td>
      <td><input id="price_total"></td>
    </tr>
  </table>
</div>

【讨论】:

    【解决方案2】:

    原因是您对所有 onchange 函数使用相同的函数名。即,为了更新价格和总计,您使用的是相同的 changeval1() 函数。

    尝试更改函数的名称。这两个函数具有相同的名称。一个函数更新total,另一个函数更新price。因此,当两个函数具有相同名称时,价格和总计都会更新。

    【讨论】:

    • 就我的理解而言,这不是两个不同的功能,而是同一个功能的两个不同版本。
    • 两个不同的版本但同名。不是吗?
    • 是的,我刚刚进行了更正。实际上我不确定这是否是获得总价格的正确方法,我只是想看看什么有效。
    猜你喜欢
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 2019-09-02
    • 2021-12-10
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    相关资源
    最近更新 更多