gpt4 book ai didi

javascript - 我需要向表单动态添加更多字段,并让新字段的输入值也发生变化

转载 作者:行者123 更新时间:2023-11-29 10:18:24 28 4
gpt4 key购买 nike

I have a jsfiddle here我用来向字段动态添加行但有问题的脚本的一部分。

在我的表单上,我有第一行要用脚本复制。该行包含 6 个输入,名称为 job_date1tech_name1cost_code1pay_rate1total_hours1sub_total1

当通过脚本创建第二行时,我现在需要脚本将新行输入名称设置为 job_date2tech_name2 cost_code2 等等,每创建一个新行,我都需要将结束数字向上移动一位。

代码如下:

function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;

for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells[i].innerHTML;

switch(newcell.childNodes[0].type) {
case "text":
newcell.childNodes[0].value = "";
break;
case "checkbox":
newcell.childNodes[0].checked = false;
break;
case "select-one":
newcell.childNodes[0].selectedIndex = 0;
break;
}
}
}

function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;

for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null !== chkbox && true === chkbox.checked) {
if(rowCount <= 1) {
alert("Cannot delete all the rows.");
break;
}
table.deleteRow(i);
rowCount--;
i--;
}
}
}
catch(e) {
alert(e);
}
}

最佳答案

这是一个简单的解决方案:

newcell.children[0].name = newcell.children[0].name + rowCount;

当您计算每个新添加的行时,将该变量添加到每个输入元素。

Here's the jsFiddle (当您运行该函数以查看控制台日志时,请务必检查您的控制台)。

对于第一个日志,它返回:

chk1
txt1
tech_name1
cost_code1
txt1

对于创建的第二个元素

chk2
txt2
tech_name2
cost_code2
txt2

等等

关于javascript - 我需要向表单动态添加更多字段,并让新字段的输入值也发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16876856/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com