javascript - 如何使用foreach生成的输入进行计算?

标签 javascript jquery foreach

我有一个 foreach 从 mysql 数据库返回多个项目。每个对象都位于我的 html 中的输入字段中。

我想计算 2 个输入值并将它们显示为第三个结果。

当我只有一组输入(数量 * 单位 = 结果)时,它可以工作,但是使用 foreach 会将每个单位和结果输入分配相同的类,因此我的 js 似乎不起作用。

我的目标是使用 foreach 生成 mysql 中的项目列表,并让用户定义一个数量值,这将计算总数。 但目前,当我更改数量值时,它会使用所有 input_price_unit 输入进行计算。

我有 3 个输入:

  • 1 类 = input_itm_qty
  • 1 类 = input_price_unit
  • 1 类 = input_price_total

以下是我的功能:

 $(".price_calc").keyup(function(){
              var val1 = +$(".input_itm_qty").val();
              var val2 = +$(".input_price_unit").val();
              $(".input_price_total").val(val1*val2);
       });

最佳答案

您可以将元素包装(分组)到一些共同的父级中,例如类是 .someParentClass ,您可以这样做:

$(".price_calc").on("input", function(){
    var $parentElement = $(this).closest(".someParentClass");
    var val1 = +$parentElement.find(".input_itm_qty").val();
    var val2 = +$parentElement.find(".input_price_unit").val();
    $parentElement.find(".input_price_total").val(val1*val2);
}).trigger("input");
.someParentClass{border-bottom: 1px solid #999;}
[type=number]{text-align: right;}
[disabled] {background:0; border:0;}
<div class="someParentClass">
  FOOS<br>
  <input class="input_itm_qty price_calc" type=number value=1 min=0> QTY<br>
  <input class=input_price_unit type=number disabled value=20> $<br>
  <input class=input_price_total type=number disabled>  TOTAL
</div>

<div class="someParentClass">
  BARS<br>
  <input class="input_itm_qty price_calc" type=number value=1 min=0> QTY<br>
  <input class=input_price_unit type=number disabled value=35> $<br>
  <input class=input_price_total type=number disabled>  TOTAL
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 如何使用foreach生成的输入进行计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45042632/

相关文章:

javascript - 如何在 native react 中运行倒计时器

javascript - 将类添加到 Canvas 元素 HTML5 和 CreateJS

c# - 如何从父函数中捕获子过程异常?

javascript - 在 JavaScript 中,如何确保数组至少有一个特定元素,而其他元素满足另一个条件?

javascript - 使用单个循环仅添加数组的不同元素

javascript - 使用单个新事件覆盖绑定(bind)到元素的所有 JavaScript 事件

javascript - 如何用标准 json 制作 jquery Datatable 数组?

javascript - 如何合并和打乱数组数组

c++ - 为什么 foreach 使用 const 引用进行迭代?

c# - 垃圾收集器在 foreach 循环中太慢?