通过循环javascript从表输入到输出
我试图创建一个简单的函数,用户在表中输入一些输入(仅数字)。将重新计算输入,并在下表行中返回一个新数字。(每一行都会有不同的计算,但如果我能得到一些帮助来计算出第一行,我应该能够自己完成其余的计算。) 下面的代码适用于第一行,但感觉不必要的麻烦。我认为我应该能够通过迭代值来获得输出,而不是手动执行。我真的很烦,我不能得到它:( 我想用香草js来做这个。谢谢 HTML:通过循环javascript从表输入到输出,javascript,for-loop,html-table,iteration,calculation,Javascript,For Loop,Html Table,Iteration,Calculation,我试图创建一个简单的函数,用户在表中输入一些输入(仅数字)。将重新计算输入,并在下表行中返回一个新数字。(每一行都会有不同的计算,但如果我能得到一些帮助来计算出第一行,我应该能够自己完成其余的计算。) 下面的代码适用于第一行,但感觉不必要的麻烦。我认为我应该能够通过迭代值来获得输出,而不是手动执行。我真的很烦,我不能得到它:( 我想用香草js来做这个。谢谢 HTML: 标题 价格1 价格2 7. 6. 5. 4. 差价(%) 8. 0 0 0 赢 9 0 0 0 损失 10 0 0 0 JS
标题
价格1
价格2
7.
6.
5.
4.
差价(%)
8.
0
0
0
赢
9
0
0
0
损失
10
0
0
0
JS:
const form=document.querySelector(“#F3”);
设f3=形式;
f3.onchange=editInput;
函数editInput(){
const rowInput=document.queryselectoral(“.row1输入”);
const anyRow=document.querySelector(#tb3”).getElementsByClassName(“any”);
对于(k=0;k
您可以使用带有索引重载的
forEach
获得如下效果:
function editInput() {
const rowInput = document.querySelectorAll(".row1 input");
const anyRow = document.querySelector("#tb3").getElementsByClassName("any");
rowInput.forEach((i,ix)=>{anyRow[ix].innerHTML = i.value -1});
}
你的小提琴不算数。@Sascha:我也注意到了。如果我在控制台日志中运行它,它也能工作。@Battleaxe是的,它有一个
innerHTML
的输入错误,并且修复了它,它需要一个editInput();
在开始时初始化price2。@Eldar:非常感谢你。你帮我省去了这么多麻烦:)
const form = document.querySelector("#F3");
let f3 = form;
f3.onchange = editInput;
function editInput() {
const rowInput = document.querySelectorAll(".row1 input");
const anyRow = document.querySelector("#tb3").getElementsByClassName("any");
for (k = 0; k < anyRow.length; k++) {
for (i = 0; i < rowInput.length; i++) {
anyRow[0].innerHTML = rowInput[0].value - 1;
anyRow[1].innerHTML = rowInput[1].value - 1;
anyRow[2].innerHTML = rowInput[2].value - 1;
anyRow[3].innerHTML = rowInput[3].value - 1;
}
}
}
function editInput() {
const rowInput = document.querySelectorAll(".row1 input");
const anyRow = document.querySelector("#tb3").getElementsByClassName("any");
rowInput.forEach((i,ix)=>{anyRow[ix].innerHTML = i.value -1});
}