0

我需要帮助。我正在使用 JQuery 的动态表单插件,每次单击“+”按钮时它都会复制我的输入框但是,当我点击提交按钮时出现问题,我无法通过 $_POST 检索输入框的值,因为它们都是同一个“名字”。

输入框重复时如何更改它们的名称?

HTML:

<div id="duplicate3">
        <input id="description" type="text" name = "description"size="40">
        <input id="amount" type="text" name="amount" size="14">
   </div>
        <a href="create.php?state=1" id="plus3" class="ui-state-default ui-corner-all" title="Add">[+]</a>
        <a href="create.php?state=0" id="minus3" class="ui-state-default ui-corner-all"  title="Remove">[-]</a>

这是我的javascript:

$(document).ready(function(){

$("#duplicate3").dynamicForm("#plus3", "#minus3",{
limit:10,
createColor: 'yellow',
removeColor: 'red'
}
);

});
4

1 回答 1

1

几个快速循环可以为每个输入添加一个数字:

$("input[name^='description']").each(function(index){   
    var id = "description" + (index+1); 
    $(this).attr("id", id);
    $(this).attr("name", id);
});
$("input[name^='amount']").each(function(index){   
    var id = "amount" + (index+1); 
    $(this).attr("id", id);
    $(this).attr("name", id);
});

这会让你:

<div id="duplicate3">
<input id="description1" type="text" name="description1" size="40">
    <input id="amount1" type="text" name="amount1" size="14">
<input id="description2" type="text" name="description2" size="40">
    <input id="amount2" type="text" name="amount2" size="14">
<input id="description3" type="text" name="description3" size="40">
    <input id="amount3" type="text" name="amount3" size="14">
...
</div>

您可以在添加/删除操作之后运行循环,或者您可以在提交表单之前等待并运行它们,如果您出于任何其他原因不需要引用输入。

于 2012-06-14T15:22:31.320 回答