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 2011-12-17 05:57:43