我试图根据<li>
的列表索引更改所有输入名称,但似乎根本没有更改。
$('.test').click(function() {
for(var i=0;i<$("li.songs").length;i++)
{
var ob = $("li.songs").eq(i).clone();
ob.find('input').each(function()
{
this.name = this.name+i;
alert(this.name); //just checking if does it change
});
}
});
字符串
现在,警报显示了我想要的正确名称,但是当我检查元素并尝试提交表单并显示所有POST值时,名称没有变化。
更改前的预期输出示例:
<li class="songs"><input type="text" name="song" /></li>
<li class="songs"><input type="text" name="song" /></li>
<li class="songs"><input type="text" name="song" /></li>
型
变更后:
<li class="songs"><input type="text" name="song1" /></li>
<li class="songs"><input type="text" name="song2" /></li>
<li class="songs"><input type="text" name="song3" /></li>
型
注意:我不希望名为song的输入是一个数组。
2条答案
按热度按时间34gzjxbg1#
您正在克隆对象,因此更改是对副本而不是原始DOM节点进行的。
不要使用
clone()
,你会没事的。或者这样做:字符串
ssm49v7z2#
字符串