我有一个很奇怪的问题。 我创建了一个分配了日期选择器的字段。
该字段正在通过 AJAX 调用加载到 div 中。
总之,这已经可以工作了..但是有一个问题。 仅当我在启动日期选择器之前设置警报代码时,它才有效。
当我删除警报时。它只是停止工作。
初始化代码在另一个函数中:
alert('kut');
$("#mini_calendar").datepicker({
defaultDate: "now",
constrainInput: false,
changeMonth: true,
numberOfMonths: 2,
onClose: function (selectedDate) {
}
});
我希望有人知道我做错了什么。
编辑
感谢一百万。
解决办法是:
interval = setInterval(function(){
if($("#mini_calendar").length > 0) {
$("#mini_calendar").datepicker({
defaultDate: "now",
constrainInput: false,
changeMonth: true,
numberOfMonths: 2,
onClose: function (selectedDate) {
}
});
clearInterval( interval );
}
}, 300);
编辑:
我将这些称为 Ajax 的成功:
///######## IN CASE OF SUCCESS
success: function (response) {
if (response != '') {
$("[@targetDiv]").html(response);
DateNav_CalendarInit(DisplayType);
}
else {
alert('error! Something went wrong during the obtaining of data!');
}
}
“DateNav_CalendarInit()”调用初始化代码
最佳答案
如果没有警报,您将尝试在 DOM 元素实际存在之前捕获它。
您应该等待文档就绪事件:
示例:
$(function(){
// .. your code here ..
}
...或者只是将您的 JavaScript 代码放在标记的底部(或至少在 *#mini_calendar"元素之后)。
关于javascript - AJAX 加载的 JQuery 日期选择器仅在警报后工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39017254/