http://jsbin.com/jejujizi/1/edit
$(document).ready(function() {
$(".cs").on('click', function() {
$(".newclones").append("<div class='container'>").append($(".toclone .clone").clone()).append("<button class='rem'>Delete</button>");
$(".rem").on('click', function() {
$(this).prev().remove();
$(this).remove();
});
});
});
克隆select元素不是问题,克隆带有更改值的select元素是问题所在。 (你可以在我的小提琴中看到)
为什么不克隆更改的值,如何解决?
答案 0 :(得分:3)
根据clone()
docs:
出于性能原因,某些表单元素的动态状态(例如,键入
textarea
的用户数据和对select
的用户选择)不会复制到克隆元素。
相反,您只需在克隆元素后自行复制值:
$(document).ready(function() {
$(".cs").on('click', function() {
var toClone = $('.toclone .clone');
var toCloneClone = toClone.clone().val(toClone.val());
$(".newclones").append("<div class='container'>").append(toCloneClone).append("<button class='rem'>Delete</button>");
$(".rem").on('click', function() {
$(this).prev().remove();
$(this).remove();
});
});
});