Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过循环javascript从表输入到输出_Javascript_For Loop_Html Table_Iteration_Calculation - Fatal编程技术网

通过循环javascript从表输入到输出

通过循环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

我试图创建一个简单的函数,用户在表中输入一些输入(仅数字)。将重新计算输入,并在下表行中返回一个新数字。(每一行都会有不同的计算,但如果我能得到一些帮助来计算出第一行,我应该能够自己完成其余的计算。)

下面的代码适用于第一行,但感觉不必要的麻烦。我认为我应该能够通过迭代值来获得输出,而不是手动执行。我真的很烦,我不能得到它:(

我想用香草js来做这个。谢谢

HTML:


标题
价格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});
  
}