2016-03-02 79 views
0

的改变名字,我有像这样使用Javascript - 二维数组

<input type="text" name="testingOptions[Food][Burger1]" class="form-control" id="Food"> 

输入此刻,如果选择一个复选框,我克隆此输入。在我的克隆内

var inputOrgName = clone.find('input').attr('name'); 
clone.find('input').attr('name', inputOrgName); 

因此,这给克隆的输入与原始相同的名称属性。问题是,我需要在克隆名称的末尾添加Test。所以我的目标是这样的

<input type="text" name="testingOptions[Food][Burger1Test]" class="form-control" id="Food"> 

有没有什么办法可以做到这一点?

感谢

+1

您的标题有点误导您试图更改输入字段的名称,而不是数组的名称(尽管我理解您为什么这样写)。我的建议是使用JavaScript生成输入字段而不是使用克隆,然后尝试重新命名新创建的字段,因为这会导致一些头痛。由于我没有回答你的问题,我不会作为答案提交。 –

+1

此外,如果你克隆输入也id会重复。如果您使用javascript手动创建输入,则会更好。 –

+0

你使用的这个'clone'函数是什么?当我尝试使用它时,出现错误:'Uncaught ReferenceError:clone is not defined(...)' –

回答

1

你的问题是要改变输入字段的名称,而不是数组,我认为将最适合你的是string replace解决方案。

因此,请修改您的代码以将新字符串替换为字符串test。使用正则表达式会更简单。

clone.find('input').attr('name', inputOrgName.replace(/]$/g,'Test]')); 

这必须得到您想要的输出。