如何通过JavaScript动态增加输入控制。。。。?

如何通过JavaScript动态增加输入控制。。。。?,javascript,html,css,Javascript,Html,Css,我使用for循环将表复制到n次。下面的代码仅适用于第一个表。我怎样才能在所有的桌子上工作?。我是初学者 函数复制(){ var text1=document.getElementById(“Name1”).value; document.getElementById(“Name2”).value=text1; var text2=document.getElementById(“Name3”).value; document.getElementById(“Name4”).value=text

我使用for循环将表复制到n次。下面的代码仅适用于第一个表。我怎样才能在所有的桌子上工作?。我是初学者

函数复制(){
var text1=document.getElementById(“Name1”).value;
document.getElementById(“Name2”).value=text1;
var text2=document.getElementById(“Name3”).value;
document.getElementById(“Name4”).value=text2;
}
Name
ID 姓名: 身份证件:
我认为您需要传递表选择器,如[table.className]等。然后找到输入文本框,获取该值并粘贴到另一个文本框中

像这样

///it mean you pass first table row of first table data.
copy('table.className tbody tr[data-index=1] td[data-index=1]');

function copy(selector) {
    var val_1 = $(selector).find('input#Name1').val();

    $(selector).find('input#Name2').val(val_1);
}

ID应始终是唯一的。当使用重复ID时,它将只在第一个ID上工作,而忽略其余ID。通过将选择器按入函数,可以对多个表重用函数

希望这有帮助

编辑以帮助您纠正小提琴错误

检查代码后,我发现您尚未实现我的修复。在调用copy()的按钮上有一个onclick;。您没有传入任何参数,因此JS是静态的。因此,当您添加另一个表时,您正在创建重复的ID

当搜索ID文档.getElementById(“Name1”)时,它将在DOM中搜索,直到找到第一个ID=“Name1”,然后停止。这就是为什么你的第二张桌子不起作用

为了解决这个问题,我们需要将您的ID名称推送到函数中,以便JS变得动态。复制('Name'),其中“Name”是您ID的第一部分。数字仍将使用

在函数中,您需要通过将参数传递给函数并调用它来获取参数。我选择“选择器”,因为它最具描述性。onclick=“复制(选择器)”

否该函数将用您传递的字符串替换所有“选择器”变量,即“Name”,因此document.getElementById(选择器+“1”)实际上将是document.getElementById(“Name1”)。这样,您可以创建任意多个克隆,但请记住更改克隆表ID,并将正确的参数传递给onclick

这是你的固定小提琴

请不要只是抄袭,去看看我做了什么。您需要修复克隆函数以使用动态参数而不是静态参数。

函数检查(){
var rowCount=$('table.mytable tbody tr');
对于(var index=0;index


需要像传递表格选择器一样传递它吗?把它传给什么?谢谢你的回复bro.Bt我无法理解。@Jaromanda X如果你知道jquery和这个问题,那么你就不能这样评论。当然,我说的是关于表选择器和传递函数。代码可以更新吗see@neerajpathak-在答案中添加代码可以让你的观点更清晰,因为你的知识面较低there@neerajPathak您的意思是,当您有两个类似的上述代码表时,函数不起作用?如果是,那是因为重复的ID。保留输入上的ID号,但将ID名称传递给函数。如果你不明白,我就拉小提琴。在“名称”中保留“1”传递。其他表格将是“nameA”或其他任何表格。感谢您的回复,伙计…bt我不太清楚…bcz是一个初学者。请帮我完成代码:)。如果你不明白,我会解释得更多。谢谢,兄弟。Bt我的代码不合适。等一下,兄弟,我会更新我的完整代码。@Bala_Poyyamoli你需要根据我的提琴更改你的onclick和函数。嗯……你能用你的代码修改一下吗?然后我会更正它。我的小提琴工作得很好,所以可能是某个地方的打字错误。这是我的js fiddle@gezzasary,一次又一次地打扰你。兄弟,即使你的小提琴也不工作。这是我的提琴兄弟。请检查一下或编辑一下
onclick="copy('Name');"

function copy(selector) {
    var text1 = document.getElementById(selector + "1").value;
    document.getElementById(selector + "2").value = text1;
    var text2 = document.getElementById(selector + "3").value;
    document.getElementById(selector + "4").value = text2;
}