【发布时间】:2015-08-11 13:29:55
【问题描述】:
我正在使用一项功能来禁用除星期一以外的所有日子或启用下一个工作日到星期一的假期。我在显示日历之前运行该函数,它运行良好,但当用户更改日历中的当前月份时,我需要再次运行该函数。
这是日历:
<p:calendar beforeShowDay="disableDays" navigator="true" readonlyInput="true" showOn="button" value="#{bean.date}">
<f:convertDateTime pattern="yyyy/MM/dd" timeZone="#{timeZone}" />
</p:calendar>
以及功能:
function disableDays(date) {
var datesToDisable = [ "8-1-2015", "8-2-2015", "8-4-2015", "8-5-2015", "8-6-2015", "8-7-2015", "8-8-2015", "8-9-2015", "8-11-2015", "8-12-2015", "8-13-2015", "8-14-2015", "8-15-2015", "8-16-2015", "8-17-2015", "8-19-2015", "8-20-2015", "8-21-2015", "8-22-2015", "8-23-2015", "8-25-2015", "8-26-2015", "8-27-2015", "8-28-2015", "8-29-2015", "8-30-2015" ];
var month = date.getMonth(), day = date.getDate(), annio = date.getFullYear();
for (i = 0; i < datesToDisable.length; i++) {
if ($.inArray((month + 1) + '-' + day + '-' + annio, datesToDisable) != -1) {
return [ false ];
}
}
return [ true ];
}
我该怎么做?
【问题讨论】:
-
将 disableDays javascript 函数放在一个块中,当日历上发生月份更改事件时,您可以通过 ajax 更新该块。然后在 javascript 函数中使用 EL 来禁用新的日子。请参阅stackoverflow.com/questions/2547814/…中的第 1 点
-
什么是更改月份事件?
-
对不起,它被称为 viewChange 事件,它可以在 PF 文档中读取
-
它没有出现在 pdf 文档中,谢谢
-
对不起,(请原谅)然后不知道如何使用 ctrl-f。它位于 5.2 文档的第 55 页...哇...
标签: primefaces calendar