html javascript,将动态行的值相乘

html javascript,将动态行的值相乘,javascript,html,dynamic-tables,Javascript,Html,Dynamic Tables,我已经使用javascript动态创建了一个表中的行,为了满足我的需要,我对javascript进行了修改,在这个动态创建的表中,我想将数量与价格相乘,并将其放入“合计”框中 html 产品 产品01 产品02 产品03 产品04 产品05 产品06 我使用此javascript代码是为了将值添加到一起,但这只适用于不是由代码创建的第一行: javascript <script> function WO() { var qty = document.getElementById

我已经使用javascript动态创建了一个表中的行,为了满足我的需要,我对javascript进行了修改,在这个动态创建的表中,我想将数量与价格相乘,并将其放入“合计”框中

html


产品
产品01
产品02
产品03
产品04
产品05
产品06
我使用此javascript代码是为了将值添加到一起,但这只适用于不是由代码创建的第一行:

javascript

<script>
function WO() {

var qty = document.getElementById('qty').value;

var price = document.getElementById('price').value;

answer = (Number(qty) * Number(price)).toFixed(2);  

document.getElementById('totalprice').value = answer;   
}
</script>

函数WO(){
var qty=document.getElementById('qty')。值;
var price=document.getElementById('price').value;
答案=(编号(数量)*编号(价格)).toFixed(2);
document.getElementById('totalprice')。value=answer;
}
我对javascript非常陌生,所以我想知道是否有一种方法可以将其应用于动态行,但在我将它们传递给php邮件程序时将它们分开

编辑:我一直在玩代码,我有点接近得到我需要的答案,但我仍然不知道如何使这给我我想要的答案

function WO() {
for (var i = 0; i < rowCount; i++) {

var qty = document.getElementsByClassName('qty').value;

var price = document.getElementsByClassName('price').value;

var answer = (Number(qty) * Number(price)).toFixed(2);

document.getElementsByClassName('totalprice[' + i + ']').innerHTML = answer;
}
}
函数WO(){
对于(变量i=0;i
在HTML id中应该是唯一的。当您按id获取元素时,它总是返回它获取的第一个元素

我建议用class代替。对行运行循环并计算总计

这将是一个更接近的解决方案。。。但我还没有测试

    var trNodes = document.getElementById('plateVolumes').childNodes;
    for(var i=0; i < trNodes.length; i++) {

        var qty = trNodes[i].getElementsByClassName('qty').value;

        var price = trNodes[i].getElementsByClassName('price').value;

        var answer = (Number(qty) * Number(price)).toFixed(2);

        trNodes[i].getElementsByClassName('totalprice').innerHTML = answer;
    }
var trNodes=document.getElementById('plateVolumes').childNodes;
对于(var i=0;i

这很有帮助,我问了一位朋友,谁创造了这个,我想我会添加它,以防其他人想知道

function WO() {
var tbody = document.getElementById("plateVolumes");

for(var i = 0; i < tbody.rows.length; i++) {
    var row = tbody.rows[i];
    var qty = row.cells[1].childNodes[0].value;
    var price = row.cells[3].childNodes[0].value;
    var answer = (Number(qty) * Number(price)).toFixed(2);
    row.cells[4].childNodes[0].value = answer;
    }
}
函数WO(){
var tbody=document.getElementById(“plateVolumes”);
对于(变量i=0;i
你能为此创建提琴吗?从你调用的地方调用
WO()
?忘了在价格上添加onchange,它现在在那里,我也做了一个jsfiddle,但正如我说的,我知道的不多,跨它复制我的数据在那里不起作用,而在我的本地副本上起作用。我如何为此运行循环?我有点不知所措。
function WO() {
var tbody = document.getElementById("plateVolumes");

for(var i = 0; i < tbody.rows.length; i++) {
    var row = tbody.rows[i];
    var qty = row.cells[1].childNodes[0].value;
    var price = row.cells[3].childNodes[0].value;
    var answer = (Number(qty) * Number(price)).toFixed(2);
    row.cells[4].childNodes[0].value = answer;
    }
}