我添加了动态input
字段,但datepicker
无法在动态生成的字段中使用。
$(document).ready(function() {
$('#text').datepicker();
})
function addmore() {
var html = '<div class="form-group"><input type="text" placeholder="text" id="text"><button type="button" onclick="removeInput(this)">×</button></div>';
$('.input-fields').append(html);
}
function removeInput(obj) {
$(obj).parent().remove();
}
&#13;
.form-group {
margin-bottom: 10px;
}
&#13;
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css">
<div>
<div class="input-fields">
<div class="form-group">
<input type="text" placeholder="text" id="text">
</div>
</div>
<button type="button" onclick="addmore()">Add more</button>
</div>
&#13;
答案 0 :(得分:3)
您需要为每个附加输入生成新的Id
,然后调用datepicker
函数。
var i = 0;
$(document).ready(function(){
$('#text').datepicker();
})
function addmore(){
i++
var html = '<div class="form-group"><input type="text" placeholder="text-'+i+'" id="text-'+i+'"><button type="button" onclick="removeInput(this)">×</button></div>';
$('.input-fields').append(html);
$('#text-'+i).datepicker();
}
function removeInput(obj){
$(obj).parent().remove();
}
.form-group {
margin-bottom: 10px;
}
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css">
<div>
<div class="input-fields">
<div class="form-group">
<input type="text" placeholder="text" id="text">
</div>
</div>
<button type="button" onclick="addmore()">Add more</button>
</div>
答案 1 :(得分:1)
最简单的方法是使用text
类。您使用了text
个ID,这是错误的方式,因为当您添加项目时,您将尝试为具有相同id
的更多元素附加事件。
$(document).ready(function() {
$('.text').datepicker();
})
function addmore() {
var html = '<div class="form-group"><input type="text" placeholder="text" class="text"><button type="button" onclick="removeInput(this)">×</button></div>';
$('.input-fields').append(html);
$('.text').datepicker();
}
function removeInput(obj) {
$(obj).parent().remove();
}
&#13;
.form-group {
margin-bottom: 10px;
}
&#13;
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css">
<div>
<div class="input-fields">
<div class="form-group">
<input type="text" placeholder="text" class="text">
</div>
</div>
<button type="button" onclick="addmore()">Add more</button>
</div>
&#13;