如何自动对HTML表格中每一行的输入值框求和

用户名

我有一个带有输入框(数量,价格,折扣和总计)列的HTML表。我制作了一个JS函数,用于根据需要添加任意多的行。我想为每一行的总计列自动显示此公式的值:

(数量*价格)-(数量*价格*(折扣/ 100))。

我尝试了许多JavaScript代码,但一直无法正常工作。

HTML:

<table id="myTable">
<tr>
<th width="65%"></th>
<th align="center" width="5%">Q<br>-ty</th>
<th align="center" width="10%">Price,</br>$</th>
<th align="center" width="5%">Discount,<br>%</th>
<th align="center" width="15%">Total, $<br>(Without tax)</th>
</tr>
<tr>
<td width="65%"><input class="Left" size="100" type="text" name="Description"></td>
<td align="center" width="5%"><input type="number" name="quantity" min="1" max="99"></td>
<td align="center" width="10%"><input type="number" name="summ" min="0" max="999999"></td>
<td align="center" width="5%"><input type="number" name="rate" min="0" max="100"></td>
<td align="center" width="15%"><input align="center" type="number" name="total" min="0" max="99999999"></td>
</tr>
</table>
<button onclick="addRow()">Add Row</button>

Javascript:

function addRow() {
    var table = document.getElementById("myTable");
    var row = table.insertRow();
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
    var cell3 = row.insertCell(2);
    var cell4 = row.insertCell(3);
    var cell5 = row.insertCell(4);
    cell1.innerHTML = "<input class=\"Left\" size=\"100\" type=\"text\" name=\"Description\">";
    cell2.innerHTML = "<div align=\"center\"><input type=\"number\" name=\"quantity\" min=\"1\" max=\"99\"></div>";
    cell3.innerHTML = "<div align=\"center\"><input type=\"number\" name=\"summ\"  min=\"0\" max=\"999999\"></div>";
    cell4.innerHTML = "<div align=\"center\"><input type=\"number\" name=\"rate\"  min=\"0\" max=\"100\"></div>";
    cell5.innerHTML = "<div align=\"center\"><input type=\"number\" name=\"total\" min=\"0\" max=\"99999999\"></div>";
}

我在FIDDLE上的代码。

识字

几乎没有什么不同的例子。div从您的js代码中删除了该代码。

function calc(id) {
var row=id.parentNode.parentNode;
var quant=row.cells[1].getElementsByTagName('input')[0].value;
var price=row.cells[2].getElementsByTagName('input')[0].value;
var disc=row.cells[3].getElementsByTagName('input')[0].value;
if(disc==null || disc=='') {
 res=parseFloat(quant)*parseFloat(price);
} else {
 var res=(parseFloat(quant)*parseFloat(price))-(parseFloat(quant)*parseFloat(price)*(parseFloat(disc)/100));
}
row.cells[4].getElementsByTagName('input')[0].value=res;
   }
   function addRow() {
    var table = document.getElementById("myTable");
    var row = table.insertRow();
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
	var cell3 = row.insertCell(2);
	var cell4 = row.insertCell(3);
	var cell5 = row.insertCell(4);
    cell1.innerHTML = "<input class=\"Left\" size=\"100\" type=\"text\" name=\"Description\">";
    cell2.innerHTML = "<input onkeyup=\"calc(this);\" onchange=\"calc(this);\" type=\"number\" name=\"quantity\" min=\"1\" max=\"99\">";
	cell3.innerHTML = "<input onkeyup=\"calc(this);\" onchange=\"calc(this);\" type=\"number\" name=\"summ\"  min=\"0\" max=\"999999\">";
	cell4.innerHTML = "<input onkeyup=\"calc(this);\" onchange=\"calc(this);\" type=\"number\" name=\"rate\"  min=\"0\" max=\"100\">";
	cell5.innerHTML = "<input type=\"number\" name=\"total\" min=\"0\" max=\"99999999\">";
}
 body {
    font-family: "Calibri"; margin:0;}

#inTotal {
	font-weight: bold;
	border-bottom: 2px solid black;
}
.nr {
	font-weight: bold;
}
input {
    border: none;
    background: transparent;
	text-align: center;
}
table, th, td {
    border: 1px solid black;	
    border-collapse: collapse;
}
.Left {
	text-align: left;
	margin-left: 5px;
}
<table id="myTable">
<tr>
            
<th width="65%"></th>

<th align="center" width="5%">Q<br>-ty</th>
    
<th align="center" width="10%">Price,</br>$</th>

<th align="center" width="5%">Discount,<br>%</th>

<th align="center" width="15%">Total, $<br>(Without tax)</th>

</tr>
<tr>
<td width="65%"><input class="Left" size="100" type="text" name="Description"></td>
                
<td align="center" width="5%"><input onkeyup="calc(this);" type="number" name="quantity" min="1" max="99" onchange="calc(this);"></td>
                    
<td align="center" width="10%"><input onkeyup="calc(this);" type="number" name="summ" min="0" max="999999" onchange="calc(this);"></td>
                        
<td align="center" width="5%"><input onkeyup="calc(this);" type="number" name="rate" min="0" max="100" onchange="calc(this);"></td>
                            
<td align="center" width="15%"><input align="center" type="number" name="total" min="0" max="99999999"></td>
    
</tr>
                            
</table>
                        
	<button onclick="addRow()">Add Row</button>

我添加了一个函数,用于根据输入的每个更改或数字来计算您的公式。

该函数放置在每个input期望的最后一个(onchange="calc(this)onkeyup=calc(this);)中。我戴onkeyup了一开始input在这种情况下,输入数字后将进行计算。

如您所见,代码仅是js。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何对html表的每一行和每一列的值求和

来自分类Dev

如何对动态场输入Laravel Livewire中的每一行数据求和

来自分类Dev

HTML如何使表格的每一行都可滚动?

来自分类Dev

如何在Highcharts中将HTML表格中的每一行做成饼图?

来自分类Dev

如何在Highcharts中将HTML表格中的每一行做成饼图?

来自分类Dev

如何使数据框中的每一行的每一列都有一个值?

来自分类Dev

如何将熊猫数据框中的每一行乘以不同的值

来自分类Dev

如何使用javascript根据动态表的每一行中的输入值添加天数

来自分类Dev

如何使用bash脚本求和两个csv文件中每一行的列值?

来自分类Dev

将矩阵中每一行的值与columnvector相乘,然后将行求和

来自分类Dev

如何在表格中为Oracle APEX中的每一行访问选择列表中的列值

来自分类Dev

如何从同一行中求和/减去时间值

来自分类Dev

Perl:如何使用 PERL 对一行中的值求和

来自分类Dev

在sql中的一行中每5行求和

来自分类Dev

访问每一行并检查数据框中的每一列值

来自分类Dev

如何对每一行的所有行求和

来自分类Dev

Google表格:调整数组公式以自动显示在每一行中

来自分类Dev

通过单击每一行中的按钮来查找每一行中文本框的值?

来自分类Dev

对每一行数据框的列求和,并在多级索引熊猫数据框中添加新列

来自分类Dev

如何通过遍历Python数据框中的每一行将计算的值存储在新列中?

来自分类Dev

使用Google表格中的arrayformula()在每一行上找到一个min()值

来自分类Dev

我可以对表格中的每一行求和然后用复选框禁用它吗?

来自分类Dev

如何用“ A”,“ B”和“ C”列中的值的相同组合为每一行的“ D”列中的值求和?

来自分类Dev

jQuery:如何对表中的每一行进行价格求和

来自分类Dev

如何在Excel中对命名范围内的每一行求和?

来自分类Dev

如何在不迭代每一行的情况下访问熊猫数据框中的值

来自分类Dev

在转到R中的下一行之前,如何使函数返回每一行的值?

来自分类Dev

查找并比较表格中每一行的单元格值

来自分类Dev

如何将熊猫数据框的值除以第一行的每一组?

Related 相关文章

  1. 1

    如何对html表的每一行和每一列的值求和

  2. 2

    如何对动态场输入Laravel Livewire中的每一行数据求和

  3. 3

    HTML如何使表格的每一行都可滚动?

  4. 4

    如何在Highcharts中将HTML表格中的每一行做成饼图?

  5. 5

    如何在Highcharts中将HTML表格中的每一行做成饼图?

  6. 6

    如何使数据框中的每一行的每一列都有一个值?

  7. 7

    如何将熊猫数据框中的每一行乘以不同的值

  8. 8

    如何使用javascript根据动态表的每一行中的输入值添加天数

  9. 9

    如何使用bash脚本求和两个csv文件中每一行的列值?

  10. 10

    将矩阵中每一行的值与columnvector相乘,然后将行求和

  11. 11

    如何在表格中为Oracle APEX中的每一行访问选择列表中的列值

  12. 12

    如何从同一行中求和/减去时间值

  13. 13

    Perl:如何使用 PERL 对一行中的值求和

  14. 14

    在sql中的一行中每5行求和

  15. 15

    访问每一行并检查数据框中的每一列值

  16. 16

    如何对每一行的所有行求和

  17. 17

    Google表格:调整数组公式以自动显示在每一行中

  18. 18

    通过单击每一行中的按钮来查找每一行中文本框的值?

  19. 19

    对每一行数据框的列求和,并在多级索引熊猫数据框中添加新列

  20. 20

    如何通过遍历Python数据框中的每一行将计算的值存储在新列中?

  21. 21

    使用Google表格中的arrayformula()在每一行上找到一个min()值

  22. 22

    我可以对表格中的每一行求和然后用复选框禁用它吗?

  23. 23

    如何用“ A”,“ B”和“ C”列中的值的相同组合为每一行的“ D”列中的值求和?

  24. 24

    jQuery:如何对表中的每一行进行价格求和

  25. 25

    如何在Excel中对命名范围内的每一行求和?

  26. 26

    如何在不迭代每一行的情况下访问熊猫数据框中的值

  27. 27

    在转到R中的下一行之前,如何使函数返回每一行的值?

  28. 28

    查找并比较表格中每一行的单元格值

  29. 29

    如何将熊猫数据框的值除以第一行的每一组?

热门标签

归档