JavaScript-递增值属性

JavaScript-递增值属性,javascript,forms,html-table,increment,Javascript,Forms,Html Table,Increment,我有一个问题,我不能左右我的头(相当新的JavaScript)。需要知道如何使用document.createElement事件在HTML中增加变量(如果这是正确的术语) 每次单击“添加行”按钮时,我都需要增加“value”属性,反之亦然,单击“删除行”按钮 到目前为止,我已经: HTML 挑选 身份证件 问题: 1. JavaScript 函数addRow(tableID){ var table=document.getElementById(tableID); var rowCount=

我有一个问题,我不能左右我的头(相当新的JavaScript)。需要知道如何使用document.createElement事件在HTML中增加变量(如果这是正确的术语)

每次单击“添加行”按钮时,我都需要增加“value”属性,反之亦然,单击“删除行”按钮

到目前为止,我已经:

HTML

挑选
身份证件
问题:
1.
JavaScript
函数addRow(tableID){
var table=document.getElementById(tableID);
var rowCount=document.getElementById(tableID.getElementsByTagName('tbody'))
[1] .getElementsByTagName('tr')。长度;
var行=table.insertRow(行计数+1);
var cell1=行插入单元格(0);
var element1=document.createElement(“输入”);
element1.type=“隐藏”;
element1.name=“Q[]”;
element1.value=rowCount+1;
第二单元附属物(元素一);
cell2.innerHTML=rowCount+1;
}
函数deleteRow(tableID){
试一试{
var table=document.getElementById(tableID);
var rowCount=table.rows.length;

对于(var i=0;i如果要按名称递增:

var hiddenInputs = document.getElementsByName("Q[]");
编辑:

for (var i = 0; i <= hiddenInputs.length; i++) {
    hiddenInputs[i].value = i + 1;
}

for(var i=0;i看看这个JSFIDLE:

它肯定会给你一些提示,因为现在该行实际上被添加了。(我想这里的行数不是问题)

问题过去是,现在仍然是,您正在将空单元格作为一行添加。我已将cell2添加到表中,我们可以看到正在发生的事情

var cell2 = row.insertCell(1);
cell2.appendChild(element1);
cell2.innerHTML = rowCount +1;
另外,我对调试所做的是:

    alert(rowCount);
你应该能够自己解决剩下的问题。如果你还需要帮助,请在下面评论

提示:


也许每次添加一行时,最好让您的最高ID递增,并且不要担心删除。这样您就永远不会拥有相同的ID了

您的其余代码可以工作吗?您是否可以提供一个JSFIDLE。请解释为什么需要递增,以及在哪里显示行数?尝试发出警报(rowcount)看看这是怎么回事it@NickN.我需要增加隐藏输入类型中的value属性。我发出了警报(rowCount)但是什么都没有。我再试一次。干杯。谢谢你的小提琴,小提琴告诉我,你说的不可能是你想做的。因为当我们添加2行,然后删除第二行。添加的下一行也将被称为3。这将导致2行ID=3。你确定这是正确的问题吗?是的,我知道,这就是原因我还需要反增量,我想我可以一次性解决这两个问题,也许需要重新思考?我会试一试,看看结果如何。干杯,Mustafa!因为输入元素被克隆到每一行,所以它会增加它找到的第一个隐藏字段…我如何解决这个问题?将递增hiddenInput[0].value work?我的编辑解决了我认为的整个问题。它将所有数字从零开始。你能发送一个小提琴吗?删除其中一行,然后再次运行。你会看到数字的给出是正确的。在每次添加或删除时,此代码必须按照我从你的问题中理解的方式运行
var cell2 = row.insertCell(1);
cell2.appendChild(element1);
cell2.innerHTML = rowCount +1;
    alert(rowCount);