仅限日期1&任何月份都应该有16个可供选择。应禁用所有其他日期。 请帮忙
$(closure.el).find('#listcmd_invoices .add .invoice-from-date-input')
.datepicker({
changeYear: true,
showAnim: 'slide',
changeMonth : true,
yearRange : "Y:+2Y",
beforeShowDay: function(date){
return [date.getDate() == 16 && date.getDate() == 1,""]
}
});
答案 0 :(得分:3)
假设JQuery-UI数据选择器,就像您标记了您的问题一样,初始化datepicker时应该提供的选项是beforeShowDay。该文档提供了对该方法必须返回的内容的相当好的描述,为清楚起见,在下面重现:
函数将日期作为参数,并且必须返回一个数组,其中[0]等于true / false,指示此日期是否可选,[1]等于CSS类名称或“”表示默认演示文稿,和[2]这个日期的可选弹出工具提示。在显示之前,会在datepicker中调用它。
所以对你来说,像是:
$( "#datepicker" ).datepicker({
beforeShowDay: function(date){
return [
date.getDate() == 16 || date.getDate() == 1,
""
];
}
});
(刚看到你的代码更新。唯一的问题是你的测试是“天等于1和天等于16”..显然都不行。所以你错了就是你应该使用OR!)
答案 1 :(得分:1)
$(closure.el).find('#listcmd_invoices .add .invoice-from-date-input')
.datepicker({
changeYear: true,
showAnim: 'slide',
changeMonth : true,
yearRange : "Y:+2Y",
beforeShowDay: function(date){
**if (date.getDate() == 1 || date.getDate() == 16)
return [true,""];
else
return [false,""];**
}
});