我有非常简单的datepicker设置:
这在< head>中
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<link rel="stylesheet" media="screen,projection,tv" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/smoothness/jquery-ui.css" />
<script>
$(function() {
$('input.date').datepicker();
$('button').on('click', function() {
$('#orig').clone()
.attr('id', 'else')
.datepicker()
.appendTo('body');
});
});
</script>
并且这在< body>中
<input type="date" id="orig" class="date">
<button>duplicate</button>
当克隆输入时,没有初始化datepicker.见http://jsfiddle.net/aMPB2/
这有什么问题?
解决方法:
datepicker将标记类“hasDatepicker”添加到元素.你必须从克隆中删除它:
$(function() {
$('input.date').datepicker();
$('button').on('click', function() {
var x = $('#orig').clone()
.attr('id', 'else')
.removeClass("hasDatepicker") // <=== New line
.appendTo('body')
.datepicker();
});
});