Javascript 生成for循环以计算特定单元格,然后将结果写入行中的最后一个单元格
我对JS非常陌生,我正在尝试学习for循环,在本例中,如果可能的话,我想将其转换为for循环。我想计算单元格3中的静态数字字符串,乘以单元格4中的输入数字,然后将结果输出到循环中创建的新单元格5。非常感谢您的帮助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
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代码,没有检查他实际上覆盖了什么。在我看来,这是一个值得怀疑的举动。