-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>

因此,在包括标签在内的所有表单元素上,我想为所有 for 和 name 值增加 1 到 i ..有人可以帮忙吗?

4

1 回答 1

0

在进行过程中更新所有 for 和 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++;
    }
});
于 2012-11-14T18:22:43.233 回答