我知道这个问题之前已经被问过并回答了,但是这些解决方案没有成功实现这个问题,或者我错过了一个可行的问题
的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后加载应该工作?任何帮助将不胜感激。
答案 0 :(得分:0)
AJAX调用是异步的,因此可以在将元素放入DOM之前执行刷新,因此不进行绑定。因此,应该在加载回调中刷新绑定。
$("#fupdiv").load('blocks/form-followup.php',function(){
$( ".datepicker" ).datepicker();
});