Datepicker - 不会附加到动态元素

时间:2015-08-27 18:42:22

标签: jquery jquery-ui datepicker jquery-ui-datepicker

我知道这个问题之前已经被问过并回答了,但是这些解决方案没有成功实现这个问题,或者我错过了一个可行的问题

的index.php

<id="fupdiv"></div>
<input name="non-dynamic-test-element" type="text" class="datepicker">
<button id="addticket">Open Dynamic Form</button>

Jquery的:

$(document).ready(function(){
$( ".datepicker" ).datepicker();
$(document).on('click','#addticket', function() {
    $("#fupdiv").load('blocks/form-followup.php');
    $("#fupdiv").fadeIn();
    $( ".datepicker" ).datepicker("refresh");
                                                });
});

形状followup.php

<div>
<label> Should get datepicker on click</label> <input type="text" class="datepicker" id="dynamic-input">
</div>

问题: 单击“非动态测试元素”输入可正确打开DatePicker。单击加载的“动态元素”输入不会,控制台中不会抛出任何错误,我尝试了几种不同的方法将datepicker附加到动态元素。据我所知,使用.on()方法和绑定datepicker后加载应该工作?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

AJAX调用是异步的,因此可以在将元素放入DOM之前执行刷新,因此不进行绑定。因此,应该在加载回调中刷新绑定。

$("#fupdiv").load('blocks/form-followup.php',function(){
    $( ".datepicker" ).datepicker();
});