【发布时间】:2019-08-11 14:40:06
【问题描述】:
单击按钮时需要逐个添加表单,但在第二次单击时,该功能会附加多个表单。
我在脚本中做错了什么?
谢谢
$('.add-more-btn').click(function() {
var clone = $('.form-main').clone('.form-block');
var block = $('.form-block')
$(block).append(clone);
});
<link href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<title>Clone forms</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-xs-12">
<form class="form-main">
<div class="form-block">
<div class="form-group">
Name
<input type="text" name="name[]" class="form-control">
</div>
<div class="form-group">
Email
<input type="text" name="email[]" class="form-control">
</div>
<hr>
</div>
</form>
<a class="btn btn-primary add-more-btn">Add one</a>
</div>
</div>
</div>
【问题讨论】:
-
clone函数将所有元素与类.form-main匹配。所以第二次加 2,第三次加 4,以此类推。 -
.clone()only accepts a Boolean 所以.clone('.form-block')是错误的 -
谢谢大家
标签: javascript jquery forms clone