Datepicker不适用于动态创建字段

时间:2018-01-02 07:20:03

标签: javascript jquery datepicker

我使用jquery创建了一个文本字段datetimepicker,但是当我在这个动态文本框上动态创建字段时,datetimepicker无效。



$(document).ready(function() {
  $('#acd').on('click', '.dateyear', function() {
    $('.dateyear').datepicker({
      format: "yyyy",
      viewMode: "years",
      minViewMode: "years"
    });
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.14/jquery.datetimepicker.js"></script>
<div id="acd">
  <div class="row">
    <div class="col-md-2">
      <div class="form-group">
        <input type="text" name="passyr[]" class="form-control dateyear">
      </div>
    </div>
  </div>
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

我认为你没有动态调用日期选择器。需要动态调用datepicker()。创建输入框后动态调用

$('.dateyear').datepicker({
                    format: "yyyy", 
                    viewMode: "years", 
                    minViewMode: "years"
                 });

也是。

答案 1 :(得分:0)

这是因为当你初始化datepicker&#34; .dateyear&#34;没有加载,所以$无法找到&#34; .dateyear&#34;因此它不能将datepicker与&#34; .dateyear&#34;绑定。当您单击文本字段时它没有显示datepicker。当动态元素附加到DOM结构时,您需要初始化datepicker。