2012-11-14 17 views
-1

我克隆字段集,每次需要将名称值增加1。为所有孩子动态地分配名称值?

这里是jQuery的:

i = 2; 
$("#AddOne").click(function() { 
    if (i < 11) { 
     var itemNum = "<div class='iSep'>Item "+ i +"</div>"; 
     $("#cloneSet").clone().prepend(itemNum).appendTo("#cloneRet"); 
     i++; 
    } 
}); 

下面是相关HTML:

<div id="cloneSet"> 
<label for="ModelNumber1">Model Number:</label> 
<input type="text" name="ModelNumber1" class="required"><br /> 
<label for="SerialNumber1">Serial Number:</label> 
<input type="text" name="SerialNumber1" class="required"><br /> 
<label for="ConditionofUnit1">Condition of Unit:</label> 
<select name="ConditionofUnit1" class="required"> 
<option value="">Choose an option</option> 
<option value="Open: Defective">Open: Defective</option> 
<option value="Open: Non-defective">Open: Non-defective</option> 
<option value="Factory Sealed">Factory Sealed</option> 
</select><br /> 
</div> 

<div id="cloneRet"></div> 

因此,对所有的表单元素,包括标签,我想增加1到我所有的对和名称价值..任何人都可以帮忙吗?

+0

使用一个类,语义上的ID可以被应用到一个元素只 –

+0

感谢,改为使用类 – user7954

回答

0

更新所有和name属性,当您

去老实说不知道你为什么要做到这一点,我会使用类

但是提醒,这不是你的问题。

i = 2; 
$("#AddOne").click(function() { 
    if (i < 11) { 
     var itemNum = "<div class='iSep'>Item "+ i +"</div>"; 
     $("#cloneSet:first").clone().prepend(itemNum).appendTo("#cloneRet") 
     .children().each(function(){ 
      $(this).attr('name',$(this).attr('name').replace(i,i+1)) 
      $(this).attr('for',$(this).attr('for').replace(i,i+1)) 
     }); 
     i++; 
    } 
}); 
+0

这是一个非常临时的解决方案,我需要电子邮件ASP的形式。我对ASP一无所知,因此我必须对每个字段的10个硬编码进行电子邮件发送。因此,为什么我需要增加每个名称字段,因为那是什么它用来获取值...是的 – user7954

+0

嘿,我正在检查与萤火虫元素,我看不到值使用此代码 – user7954

+0

是的这不工作。我改变它使用类与此,当我添加我的额外领域,我不会自动增量了,它停留在2 – user7954