Javascript 当我在ajax调用后将datepicker设置为ready时,jquery日期选择器不起作用
我想知道,在ajax函数调用之后,我的jquery ui日期选择器在Javascript 当我在ajax调用后将datepicker设置为ready时,jquery日期选择器不起作用,javascript,jquery,ajax,datepicker,Javascript,Jquery,Ajax,Datepicker,我想知道,在ajax函数调用之后,我的jquery ui日期选择器在document.ready中没有工作。当我在ajax上成功完成它的工作时,请帮助我该怎么做。不工作的原因是什么 $("#ScheduledArrivalDate").datepicker({ beforeShow: function () { setTimeout(function () { $('.ui-datepicker').css('z-index', 2000);
document.ready
中没有工作。当我在ajax上成功完成它的工作时,请帮助我该怎么做。不工作的原因是什么
$("#ScheduledArrivalDate").datepicker({
beforeShow: function () {
setTimeout(function () {
$('.ui-datepicker').css('z-index', 2000);
}, 0);
}
});
function getPage(page) {
$.ajax({
type: "POST",
url: page,
data: $("#frm").serialize(),
xhrFields: {
withCredentials: true
},
success: function (html) {
$('#List').empty();
$('#List').append($.parseHTML(html));
},
error: function () {
alert("error");
},
complete: function () {
alert("complete");
}
});
}
$.document.ready()
仅在加载不带ajax的页面后启动。当您在ajax调用中替换/追加html,并且在新插入的html中有一个日期字段时,您需要再次初始化它(至少对于新插入的html块)
您可以通过调用success或complete函数中的$.datepicker
来实现这一点,就像您已经做的那样,或者通过向javascript文件中添加$.document.ajaxEnd()
来实现这一点,在ajax事件每次结束后初始化的内容(也在出错时)
请注意不要双重启动日期选择器,尤其是在使用ajaxEnd时。这可能会导致意外行为。只有在页面加载后,$(document).ready()中的代码才会运行。当您动态添加日期选择器时,如果我没有错的话。所以做一件事。在变量中选择选项,如下所示:
var options = {
beforeShow: function () {
setTimeout(function () {
$('.ui-datepicker').css('z-index', 2000);
}, 0);
}
}
然后:
在ajax调用中:
function getPage(page) {
$.ajax({
type: "POST",
url: page,
data: $("#frm").serialize(),
xhrFields: {
withCredentials: true
},
success: function (html) {
$('#List').empty();
$('#List').append($.parseHTML(html));
$('#IdOfnewlyAddedDatePicker').datepicker(options);
},
error: function () {
alert("error");
},
complete: function () {
alert("complete");
}
});
}
如果这不起作用或者您正在注入其他html,请告诉我。也发布您的html!!您是否在
ajax
的success
中添加了任何html?如果我只是完成了这个函数ajax,或者ajax成功了,它工作得很好,我理解兄弟!!你能把你的ajax
也张贴在这里吗?setTimeout(func,0)!?检查这个
function getPage(page) {
$.ajax({
type: "POST",
url: page,
data: $("#frm").serialize(),
xhrFields: {
withCredentials: true
},
success: function (html) {
$('#List').empty();
$('#List').append($.parseHTML(html));
$('#IdOfnewlyAddedDatePicker').datepicker(options);
},
error: function () {
alert("error");
},
complete: function () {
alert("complete");
}
});
}