Javascript 生成for循环以计算特定单元格,然后将结果写入行中的最后一个单元格

Javascript 生成for循环以计算特定单元格,然后将结果写入行中的最后一个单元格,javascript,html,Javascript,Html,我对JS非常陌生,我正在尝试学习for循环,在本例中,如果可能的话,我想将其转换为for循环。我想计算单元格3中的静态数字字符串,乘以单元格4中的输入数字,然后将结果输出到循环中创建的新单元格5。非常感谢您的帮助 var table=document.getElementById(“表”); var Row1=表。行[1], cell1=Row1.insertCell(5); var Row2=表。行[2], cell2=行2.insertCell(5); var Row3=表。行[3], ce

我对JS非常陌生,我正在尝试学习for循环,在本例中,如果可能的话,我想将其转换为for循环。我想计算单元格3中的静态数字字符串,乘以单元格4中的输入数字,然后将结果输出到循环中创建的新单元格5。非常感谢您的帮助

var table=document.getElementById(“表”);
var Row1=表。行[1],
cell1=Row1.insertCell(5);
var Row2=表。行[2],
cell2=行2.insertCell(5);
var Row3=表。行[3],
cell3=第3行。插入单元格(5);
var Row4=表。行[4],
cell4=第4行。插入单元格(5);
var Row5=表。行[5],
单元5=行5。插入单元(5);
var Row6=表。行[6],
单元格6=行6。插入单元格(5);
var x1=表。行[1]。单元格[4]。getElementsByTagName('input')[0]。值;
var y1=表。行[1]。单元格[3]。innerHTML;
cell1.innerHTML=y1*x1;
var x2=表。行[2]。单元格[4]。getElementsByTagName('input')[0]。值;
var y2=表格。行[2]。单元格[3]。innerHTML;
cell2.innerHTML=y2*x2;
var x3=表。行[3]。单元格[4]。getElementsByTagName('input')[0]。值;
var y3=table.rows[3]。单元格[3]。innerHTML;
cell3.innerHTML=y3*x3;
var x4=表。行[4]。单元格[4]。getElementsByTagName('input')[0]。值;
var y4=table.rows[4]。cells[3]。innerHTML;
cell4.innerHTML=y4*x4;
var x5=表。行[5]。单元格[4]。getElementsByTagName('input')[0]。值;
var y5=table.rows[5]。单元格[3]。innerHTML;
cell5.innerHTML=y5*x5;
var x6=表。行[6]。单元格[4]。getElementsByTagName('input')[0]。值;
var y6=table.rows[6]。单元格[3]。innerHTML;
cell6.innerHTML=y6*x6;

您可以使用下面给出的循环。看起来您正在对数字进行操作,因此我在
x1
y1
的赋值前面添加了一个
+
,以隐式地将它们转换为数字


for(var i=1;i这些不需要在函数中,只是为了便于阅读

function createCells() {
  cells = []
  for (let i = 1; i < 7; i++) {
    var cells[i] = table.rows[i].insertCell(5)
  }
}

function calculate() {
  for
  let (i = 1; i < 7; i++) {
    var x = table.rows[i].cells[4].getElementsByTagName('input')[0].value;
    var y = table.rows[i].cells[3].innerHTML;
    cells[i].innerHTML = (y * x);
  }
}
函数createCells(){
单元格=[]
for(设i=1;i<7;i++){
变量单元格[i]=表.行[i].插入单元格(5)
}
}
函数计算(){
对于
let(i=1;i<7;i++){
var x=table.rows[i]。单元格[4]。getElementsByTagName('input')[0]。值;
var y=table.rows[i]。单元格[3]。innerHTML;
单元格[i].innerHTML=(y*x);
}
}

使用简单for循环的简短回答如下:

  • 每行循环
  • 对于每行,将数量乘以价格
  • 同一行中的输出总计
  • 因为我们基本上总是希望在每一行中都有一个“total”字段,所以我们可以直接将其添加到HTML中。
    由于我们知道价格元素和数量元素的位置,我们可以使用固定值作为指数来访问它们

    var rows=document.queryselectoral(#pricetable tbody tr”);
    对于(变量i=0;i
    
    数
    产品
    烙印
    价格
    量
    全部的
    23456789
    电话
    苹果
    6500
    22256289
    电话
    三星
    6200
    24444343
    电话
    华为
    4200
    19856639
    药片
    苹果
    4000
    39856639
    药片
    三星
    2800
    12349862
    药片
    华为
    3500
    
    这让我有点困惑,对不起:p您有任何附带的HTML吗?可能有助于了解我们正在使用的内容。最新编辑删除了先前添加的HTML,请查看修订版本以确保清晰。OP似乎已将其最新的JS代码复制粘贴到所有以前的代码(包括HTML)上,没有重新添加最新的HTML代码,没有检查他实际上覆盖了什么。在我看来,这是一个值得怀疑的举动。