如何使用javascript对每个表的所有数字求和

How to sum all the number per table using javascript

本文关键字:数字 求和 何使用 javascript      更新时间:2023-09-26

我正在处理多个表,您可以在其中添加这些输入数字

我有一个下拉框,在那里我可以选择从1到10 显示多少张表

Choose How many table 
1
2
3
4
5
6
7
8
9
10

如果我选择2,有一张2的桌子将被称为

样品台的图像

请参阅上方的图片

正如你在图中看到的,有一个子量,但在第二张表中没有,因为它没有对第二张表格中的数字求和。

这是我的数量的html代码

<td style="text-align:center;">
<input type="text" name="<?php echo $ID?>" id="_aaa" pattern="^[0-9]+$" style="background:transparent; text-align:center; width:50px;" required> 
</td>

子数量的Html

<table class="table table-bordered" id="table3" align='right'  style="margin-top:15px; width:30%;" >
            <tr>
                <th style='border: 1px solid;'>Sub Quantity </th>
                <td style='border: 1px solid; width: 150px; text-align:center;'><span id="_aaa_Sub"> </span></td>
            </tr>

</table>

总量的Html

<table class="table table-bordered" id="table3" align='right'  style="margin-top:15px; width:30%;" >
            <tr>
                <th style='border: 1px solid;'>Total Quantity </th>
                <td style='border: 1px solid; width: 150px; text-align:center;'><span id="_aaa_Final"> </span></td>
            </tr>

</table>

这是我的Javascript

<script language="javascript">
    $(function () {
        //var inputs = $("input");
        var inputs = $("[id=_aaa]");

        inputs.blur(function () {
            var total = 0;
            $.each(inputs, function (input) {
                var num = parseInt(inputs[input].value);
                total += (!isNaN(num)) ? num : 0;
            });
            document.getElementById("_aaa_Sub").innerHTML =    total;
        })
    })

</script>       

<script language="javascript">
    $(function () {
        var inputs = $("[id=_aaa]");

        inputs.blur(function () {
            var total = 0;
            $.each(inputs, function (input) {
                var num = parseInt(inputs[input].value);
                total += (!isNaN(num)) ? num : 0;
            });
            document.getElementById("_aaa_Final").innerHTML =    total;
        })
    })
</script>

你能帮我解决我的问题吗?提前感谢!

这是因为您的第一个JS函数将只为一个表调用,因为它不在each循环中。。所以尝试在each 中添加整个功能

不要使用ID,因为它们应该是唯一的尝试使用class进行子

$(function () {
    var table = $('table');//or any identifier for your table
    $.each(table,function(i) {
    var inputs = $("[id=_aaa]");
    var self = this;
    inputs.blur(function () {
        var total = 0;
        $.each(inputs, function (input) {
            var num = parseInt(inputs[input].value);
            total += (!isNaN(num)) ? num : 0;
        });
        $(self).closest("#_aaa_Sub").innerHTML =    total;
    })
})
})