如何在JavaScript中使用每个动态创建的表行递增数组
我在一个包含3列的表中动态创建行:Item、Description和QTY。如何使用每个动态创建的表行递增数组 下面是我在提交包含两行和以下值的表单时得到的结果 第一行值为:Item1,Description1,Qty1 第二行的值是:Item2,Description2,Qty2如何在JavaScript中使用每个动态创建的表行递增数组,javascript,Javascript,我在一个包含3列的表中动态创建行:Item、Description和QTY。如何使用每个动态创建的表行递增数组 下面是我在提交包含两行和以下值的表单时得到的结果 第一行值为:Item1,Description1,Qty1 第二行的值是:Item2,Description2,Qty2 1=Item1&1=Description1&1=QTY1&1=Item2&1=Description2&1=QTY2 我想返回以下内容: 1=Item1&1=Des
1=Item1&1=Description1&1=QTY1&1=Item2&1=Description2&1=QTY2
我想返回以下内容:
1=Item1&1=Description1&1=QTY1&2=Item2&2=Description2&2=QTY2
没有删除,它非常简单。只需更换这一行:
arr = ['1']; //I need this number to increase by 1 with each table row created.
为此:
arr = [row.id]; //I need this number to increase by 1 with each table row created.
row.id始终设置为table.rows.length
但当你在等式中引入删除时,事情就变得更复杂了。每次删除一行时,您都希望更改现有行的值,或者使用另一个以不同方式递增的值
第一个解决方案感觉相当优雅,但按照这种设置方式,实现起来有点笨拙。另一个要求如下:
let highestValue = 0;
function createTableRows() {
highestValue++;
var someText = 'Item, Name, Qty,'
var table = document.getElementById("textbox");
var rowlen = table.rows.length;
var row = table.insertRow(rowlen);
row.id = highestValue;
问题是你会有差距。如果您有第1行、第2行和第3行,然后删除第2行,结果将从1跳到3。您的问题不清楚,链接不起作用。@Addis我想我现在已经修复了链接。arr[I]应该起作用了吗?@BrettGregson我已经尝试过了。我得到的不是1,而是所有值的0;i<2;i++{console.logi;}。这个输出是什么?
let highestValue = 0;
function createTableRows() {
highestValue++;
var someText = 'Item, Name, Qty,'
var table = document.getElementById("textbox");
var rowlen = table.rows.length;
var row = table.insertRow(rowlen);
row.id = highestValue;