0

これについて助けが必要です。JQuery の動的フォーム プラグインを使用しています。「+」ボタンをクリックするたびに入力ボックスが複製されますが、送信ボタンを押すと問題が発生します。すべて同じ「名前」でした。

複製された入力ボックスの名前を変更するにはどうすればよいですか?

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 に答える