0
多変量のバンドメンバーが必要なフォームでは、ボタンに次のコードを使用して入力を複製しています。jQueryでクローン化する際の問題
HTMLのスニペットはこれです:
<div id="input1" style="margin-bottom:4px;" class="clonedInput">
<label for="band_member">Band Member: </label>
<input type="text" name="name1" id="name1" />
</div>
<div>
<input type="button" id="btnAdd" value=" add another member " />
</div>
そして、このjQueryのドキュメントレディ機能である:
$('#btnAdd').click(function() {
var num = $('.clonedInput').length;
var newNum = new Number(num + 1);
var newElem = $('#input' + num).clone().attr('id', 'input' + newNum);
newElem.children(':first').attr('val', '').attr('id', 'name' + newNum).attr('name', 'name' + newNum);
$('#input' + num).after(newElem);
$("#band_member_count").val(newNum);
}); // end btnAdd click
フォームが送信されると、追加の入力が提出されていません最後のエントリは最初の入力の値になり、新しく追加された各入力の値はコードの示すようにクリアされません。
私はこの点で大きな助けになります。事前に
おかげで、 ジョン
あなたが言ったように私はそれを変えたが、それはうまくいきませんでした。しかし、あなたのロジックに従って、私はこれを次のように変更しました:newElem.find( 'input').attr( 'val'、 '').attr( 'id'、 'name' + newNum).attr( 'name'、 '名前 '+ newNum);すべての値(感謝!!!)を提出しますが、値はまだクローンではクリアされません。思考? – jgravois
@jgravoisこれを次のように変更します。newElem.find( 'input')。attr( 'id'、 'name' + newNum).attr( 'name'、 'name' + newNum).val( "");この変更を反映するために私の答えも更新しました。 – flynfish
完了!ありがとう! – jgravois