Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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_Jquery_Html_Css - Fatal编程技术网

Javascript 更改特定表行中输入的名称

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=

我正在使用一个功能,我已经适应了在单击某个按钮时克隆表行(请参见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">
            <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);