我正在为我的日历使用 jQuery UI 日期选择器。我使用 beforeShowDay 函数来屏蔽不可用的日子。该数据来自 AJAX 调用,成功后我会填充日历。
这很好用,但是我想在每次日期变得不可用时更新日期选择器,但我无法刷新日期选择器。我希望能够调用一个函数,例如getdates(0);
并且日期选择器得到更新。
参见下面的函数代码:
function getdates(duration) {
$.getJSON(pluginUrl+"ajax/getdates.php?duration="+duration, function( data ) {
if(data['success'] == 1){
console.log("here");
var nonWorking = data['non_working_days'];
var nonWorkingDates = data['non_working_dates'];
var fullyBookedDates = data['fully_booked_dates'];
jQuery("#datepicker").datepicker({
minDate: 0,
maxDate: "+2m",
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
var day = date.getDay();
var status = true;
if(nonWorking.indexOf(day) >= 0){
var status = false;
}
if(nonWorkingDates.indexOf(string) >= 0){
var status = false;
}
if(fullyBookedDates.indexOf(string) >= 0){
var status = false;
}
console.log('in here');
return [ status ];
}
});
}
});
}
用户界面示例:
感谢您的帮助
最佳答案
在处理新数据之前是否应该重置日期选择器?
jQuery("#datepicker").datepicker( "option" , {
minDate: null,
maxDate: null}
);
或者只是完全销毁它并重新开始:
jQuery("#datepicker").datepicker("destroy");
关于jQuery UI Datepicker - 刷新可用日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27335740/