Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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 - Fatal编程技术网

如何在JavaScript中使用每个动态创建的表行递增数组

如何在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

我在一个包含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=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;