当从SELECT列表中选择一个值时,现有的空数组var disableddates = [];
会以“2016-03-21”格式填充日期列表。
我想要一个jquery UI datepicker来禁用事件后数组中的日期,但它根本不起作用。
$( "#datepicker" ).datepicker({
beforeShowDay: DisableSpecificDates,
dateFormat: "yy-mm-dd",
// rest of the code
function DisableSpecificDates(date) {
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [disableddates.indexOf(string) == -1];
}
当我在代码运行之前将disableddates
设置为特定日期或多个日期时,它实际上被禁用,因此这里唯一的问题是我无法使用datepicker来禁用上述事件的日期。
另外,如果我使用事件beforeShow
代替beforeShowDay
,则不会发生任何事情。
A console.log
确认数组确实已经填充,所以我确定这只是datepicker事件工作方式的问题。
有任何建议或解决方案吗?
答案 0 :(得分:0)
最后想出了一个相当简单的解决方案。每次填充数组后,我都会在datepicker上调用refresh方法。
$.each(data.response, function(i, item) {
disableddates.push(item);
});
// end array population
$( "#datepicker" ).datepicker( "refresh" );