php - jQuery 中两列的乘法

标签 php jquery html

我想要每行的 2 列相乘。这是我的代码,也是一个脚本。此脚本有效,但仅针对第一行,此脚本的输出为:

enter image description here

第二行的结果是错误的:

<form>
<table id="my-table">
  <?php
    $query3 = mysqli_query($con,"select * from orders") or die("sdfsfs");
    while($row3=mysqli_fetch_array($query3))
    {
        $quantity = $row3['quantity'];
        $unit_price = $row3['unit_price'];
        //$total = $quantity * $unit_price;
  ?>
        <tr>
           <td><input type="text" class="common quantity" name="1" id="quant" value="<?php echo $quantity; ?>"></td>
           <td><input type="text" class="common price" name="2" id="units" value="<?php echo $unit_price; ?>"></td>
           <td><input type="text" class="total" name="3" id="total" readonly></td>
       </tr>
 <?php } ?>
        <tr>
           <td colspan="2"><label class="form-control">Subtotal</label></td>
           <td><input name="subtotal" readonly id="subtotal" class="sub"  type="text" /></td>
        </tr>
</table>
</form>

jQuery

<script>
        $(".total").each(function() {
        $('.total').val(parseFloat($('#quant').val()) * parseFloat($('#units').val()));
        });
</script>

最佳答案

迭代行并使用类而不是 ID,否则它只取第一个匹配的:

$("#my-table tr:not(:last)").each(function() {

    $(this).find('.total').val(parseFloat($(this).find('.quantity').val()) * parseFloat($(this).find('.price').val()));
    });

});

关于php - jQuery 中两列的乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41974267/

相关文章:

Javascript - 使用从 ajax 休息响应接收到的一些值填充输入框

javascript - 如何防止html/JavaScript代码修改

javascript - 检查 javascript 是否已附加到页面?

javascript - 来自数据库的实时新闻行情

php - 如何在 php 中准备对 json postgresql 字段的查询

php - 有没有办法将关联查询显示为行?

PHPUnit 在 Travis-CI 上失败但在本地通过

html - 如何为 HTML DOM 元素创建 XPATH?

javascript - Chrome 扩展弹出窗口不再显示

php - php 区分管理员和用户