我有一个非常适合我的 jQuery 日期选择器,但当我通过 ajax 更新内容时,我会丢失日期选择器。据我所知,我应该使用 jQueryon()
将其绑定到输入,但我似乎找不到将其绑定到的正确事件。
第一次工作,但不能在随后的刷新:
$("[id^=startPicker]").datetimepicker({
showOn: "button",
buttonImage: "/img/calendar_icon.png",
buttonImageOnly: true,
dateFormat: 'mm/dd/yy',
timeFormat: 'hh:mm tt',
stepMinute: 1,
onClose: function (dateText, inst) {
var selectedDate = $(this).datepicker("getDate"); //Date object
$.ajax({
url: "/url",
dataType: "json",
method: 'post',
data: {
value: selectedDate.toDateString() + ' ' + selectedDate.toTimeString()
},
beforeSend: function () {
$("#loading").fadeIn();
},
success: function (data, textStatus) {
$("#content").html(data);
},
complete: function () {
$("#loading").fadeOut();
}
});
}
});
不绑定第一次或后续刷新:
$('#content').on('ready', "[id^=startPicker]", function () {
$(this).datetimepicker({
showOn: "button",
buttonImage: "/img/calendar_icon.png",
buttonImageOnly: true,
dateFormat: 'mm/dd/yy',
timeFormat: 'hh:mm tt',
stepMinute: 1,
onClose: function (dateText, inst) {
var selectedDate = $(this).datepicker("getDate"); //Date object
$.ajax({
url: "/url",
dataType: "json",
method: 'post',
data: {
value: selectedDate.toDateString() + ' ' + selectedDate.toTimeString()
},
beforeSend: function () {
$("#loading").fadeIn();
},
success: function (data, textStatus) {
$("#content").html(data);
},
complete: function () {
$("#loading").fadeOut();
}
});
}
});
});