我正在尋找克隆/重命名或重新創建地址字段以提供在同一頁上提交多個地址的功能的有效方法。因此,與形式例子是這樣的:使用jQuery克隆和重命名錶單元素
<div id="addresses">
<div class="address">
<input type="text" name="address[0].street">
<input type="text" name="address[0].city">
<input type="text" name="address[0].zip">
<input type="text" name="address[0].state">
</div>
</div>
<a href="" id="add_address">Add address form</a>
據我瞭解有兩個選擇這樣做:
重新創建域的表單字段,增加這是一種詳細的指標:
var index = $(".address").length; $('<`input`>').attr({ name: 'address[' + index + '].street', type: 'text' }).appendTo(...); $('<`input`>').attr({ name: 'address[' + index + '].city', type: 'text' }).appendTo(...); $('<`input`>').attr({ name: 'address[' + index + '].zip', type: 'text' }).appendTo(...); $('<`input`>').attr({ name: 'address[' + index + '].state', type: 'text' }).appendTo(...);
克隆現有層,並在克隆替換名稱:
$("div.address").clone().appendTo($("#addresses"));
您推薦使用哪一種方法來提高效率?如果它的#2可以請您建議我如何去搜索並用[1]([n])替換所有[0] )。謝謝。
這是完美的!感謝你對克隆內部工作的解釋,以及在IE中改變輸入名稱的問題。 – Micor 2010-04-16 01:02:31