【问题标题】:Best way to totalise dynamically created table row and column values using Javascript?使用Javascript汇总动态创建的表行和列值的最佳方法?
【发布时间】:2019-11-27 13:57:10
【问题描述】:

我要创建一个带有一行输入框的表格。 然后输入的值将乘以脚本,并将答案放在最后一个输入框中,即行总数,如果你愿意的话。

表格上方有一个按钮可以添加另一行。 每次添加一行时,需要出现相同的输入框,以及相同的“行脚本”来计算行总数。

添加/更新特定行并计算总行数后,需要找到最终数字,该数本质上是行总和。我们称它为列总计。

我的技能不是特别高,我边走边学,尤其是从这个网站似乎吸引的不错的回复中。希望这至少可以理解....

我已经设法通过使用 table.insertrow 的按钮添加行,并且进行数学运算的脚本没有问题。我还设法使用一个简单的循环来为每个输入框创建动态变量名称;同名并按行编号。

我卡住的地方是生成脚本来汇总一行,然后另一个汇总表格,因为脚本需要考虑有多少行,除了使用 Eval 之外,我看不到如何编写它()(到目前为止..)。

我也对此进行了一些实验,但都陷入了困境,无法再看到逻辑流程。

到目前为止,我所写的只是一团糟。

我没有发布评论/修复代码,而是寻求更好地了解使用 Javascript 解决问题的方法,如果可能的话,希望不使用 Eval()。

这个脑残、昏昏欲睡、希望他没有开始的菜鸟会欢迎任何建议。

更新:已经看到了很多使用 JQuery 的方法,但目前不适合我。

也许措辞不同 - 请在 javascript 中循环遍历表格列,将该列中的所有单元格内容(数字)相加。我似乎无法弄清楚如何使用 Each,因为每行的变量名称不同(编号)。

【问题讨论】:

  • 缺少代码,抱歉
  • 哇 - 快速回复! :) 我迄今为止所写的现在只是一团糟。我没有发布评论/修复代码,而是寻求更好地了解使用 Javascript 解决问题的方法,如果可能的话,希望不使用 Eval()
  • 哎呀,也感谢您的反对。我对此很陌生,并且已经尽可能清楚地写了这个问题,我花了将近一周的时间研究和学习如何自己做第一件事。
  • 也许措辞不同 - 请在 javascript 中循环遍历表格列,将该列中的所有单元格内容(数字)相加。我似乎无法弄清楚如何使用 Each,因为每行的变量名称不同(编号)。

标签: javascript variables dynamic


【解决方案1】:

类似这样的:

var tr = document.createElement("<tr>");
var td = document.createElement("<td>");
tr.appendChild(td);

您必须创建表格行,用单元格填充它,用按钮填充单元格等等。结果,您将拥有每次单击按钮时都可以插入的表格行变量。

【讨论】:

  • 谢谢你。我想我走得更远了。我有动态表行添加/删除工作。我已经设法通过使用 table.insertrow 的按钮添加行,并且进行数学运算的脚本没有问题。我还设法使用一个简单的循环来为每个输入框创建动态变量名称;命名相同并按行编号。我被卡住的地方是生成脚本来总计一行,然后另一个总计表格,因为脚本需要考虑有多少行,除了使用 Eval() 之外我看不到如何编写它(到目前为止..)。
  • 我基本上停留在引用动态创建(编号)的变量名称,以及为每个新添加的行动态生成行累加脚本。
  • 插入所有元素后,您应该能够遍历您的表。您不需要变量名。顺便说一句,在 html 表单中,可以使用相同的输入字段名称 - 稍后它们将被识别为数组。
  • 只是一个例子,如果你有一个 id 为 test 的表,你可以像这样访问第一个单元格值: var table = document.getElementById('test'); console.log(table.rows[0].cells[0].innerHTML);
  • 是的,现在我知道一个表单变成了一个数组并且可以通过 DOM 访问,我已经成功地制作了我需要的东西并学到了更多东西。非常感谢您抽出宝贵的时间,非常感谢。
猜你喜欢
  • 1970-01-01
  • 2011-06-22
  • 2021-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多