Javascript 更改特定表行中输入的名称
我正在使用一个功能,我已经适应了在单击某个按钮时克隆表行(请参见FIDLE),并为新行分配一个递增的ID(即Javascript 更改特定表行中输入的名称,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在使用一个功能,我已经适应了在单击某个按钮时克隆表行(请参见FIDLE),并为新行分配一个递增的ID(即table-rows-1到table-rows-2)。创建新行后,我需要一个函数来查找此行td中的输入,并将其名称从input-text-1更改为input-text-2。我对Javascript不是很有信心,在访问行中的输入元素时遇到问题。举个例子: <table> <tbody> <tr class="modal-rows" id=
table-rows-1
到table-rows-2
)。创建新行后,我需要一个函数来查找此行td中的输入,并将其名称从input-text-1
更改为input-text-2
。我对Javascript不是很有信心,在访问行中的输入元素时遇到问题。举个例子:
<table>
<tbody>
<tr class="modal-rows" id="table-rows-1">
<td>
<input type="text" class="input-text" name="input-text-1">
</td>
</tr>
<tr class="modal-rows" id="table-rows-2"> <<< DUPLICATED ROW WITH INCREMENT ID
<td>
<input type="text" class="input-text" name="input-text-1">
</td>
</tr>
</tbody>
</table>
有人能告诉我哪里出了问题吗?您可以在复制函数中使用以下代码:
clone.children[0].setAttribute('name','input text'+++i)This:$('table rows-'+rowNum).find('.input text').attr('name','input text-'+rowNum);在我看来很好。如果这就是你正在使用的代码,到底是什么不起作用,因为你的代码没有明显的错误。因此,它可能是您代码中的其他内容。您链接到的小提琴没有显示与表格行重复的内容。通过注释,问题自原始版本以来已发生了更改。OP需要确认它仍然不工作。谢谢@HaukarHalf,我发现这行代码中有语法错误,这就是它不工作的原因。谢谢大家的帮助。
var rowNum = document.getElementsByClassName("modal-rows").length
$('#table-rows-' + rowNum + ' .input-text').attr('name', 'input-text-' + rowNum);
$('#table-rows-' + rowNum).find('.input-text').attr('name', 'input-text-' + rowNum);
$('#table-rows-' + rowNum).children('.input-text').attr('name', 'input-text-' + rowNum);