我正在使用JSF中的Primefaces
,我只是想在日历中禁用所有星期日,
我该怎么做,
beforeShowDay
来实现它,但我不知道如何使用它。Primefaces user guide第10页解释了这一点,但我不明白他们想说什么。
<p:calendar value="#{dateBean.date}" beforeShowDay="tuesdaysAndFridaysOnly" />
function tuesdaysAndFridaysDisabled(date)
{
var day = date.getDay();
return [(day != 2 && day != 5), '']
}
在上面的代码中,他们从tuesdaysAndFridaysDisabled
调用了beforeShowDay
函数,但我的问题是
tuesdaysAndFridaysOnly
,但它将如何影响函数tuesdaysAndFridaysDisabled
它也不起作用..如何实现它以及那里发生的事情......
答案 0 :(得分:3)
这是Primefaces文档中的错误。应该调用它们的函数tuesdaysAndFridaysDisabled
而不是tuesdaysAndFridaysOnly
,这是一个javascript函数,您可以调用它来自定义日期。
所以正确的源代码看起来像
<p:calendar value="#{dateBean.date}" beforeShowDay="tuesdaysAndFridaysDisabled" />
在函数tuesdaysAndFridaysDisabled
中,您可以使用提供的参数日期执行任何操作。在这种情况下,周二(2
)和周五(5
)被禁用。
function tuesdaysAndFridaysDisabled(date)
{
var day = date.getDay();
return [(day != 2 && day != 5), '']
}
文档说明:
该函数返回一个包含两个值的数组,第一个是flag to 指示日期是否显示为已启用且第二个参数为 要添加到日期单元格的可选样式类。
如你所见。如果date
是星期二或星期五,则返回数组中的第一个参数为false
,这意味着这些天不会在p:calendar
中选择。
<强>更新强> 您可以在此处找到类似的问题:Disable specific dates on p:calendar。