我的clone()脚本有两个主要问题。
HTML:
<div>
<div id="mydiv">
<div class="title">Block 1</div>
<div>
<input type="radio" name="blockoption" value="left"> Radio 1<br />
<input type="radio" name="blockoption" value="right"> Radio 2<br />
<select>
<option selected="selected">Select</option>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
</select><br />
<input type="text" name="blocktext" />
</div>
</div>
</div>
<input id="addbutton" type="button" value="Add Block" /> <input id="removebutton" type="button" value="Remove Block" />
jQuery的:
$("#addbutton").click(function () {
var inc = $('#mydiv').siblings().length;
$('#mydiv:first-child').clone().insertAfter('#mydiv:last-child').find('input').val('');
$('#mydiv').find('.title').each(function() {
$(this).text().replace(/\d+/, inc+2);
});
});
$("#removebutton").click(function () {
var inc = $('#mydiv').siblings().length;
if (inc > 0) {
$('#mydiv:last-child').remove('#mydiv');
$('#mydiv').find('.title').each(function() {
$(this).text().replace(/\d+/, inc-2);
});
}
});
查看行动中的代码here。
答案 0 :(得分:3)
克隆具有ID属性的元素会使您的文档无效,您可以使用类。要删除checked
和selected
属性,您可以使用prop
方法。
$("#addbutton").click(function() {
var inc = $('.mydiv').length;
var cloned = $('.mydiv:first').clone()
.find('.title').text('Block' + ++inc).end()
.find('input').val('').prop('checked', false).end()
.find('option').prop('selected', false).end()
.appendTo('.wrapper')
});
$("#removebutton").click(function() {
$('.mydiv:last').remove()
});