根据我之前的问题,Disable specific dates on p:calendar ,我知道我可以使用 Javascript 禁用特定日期,如下所示:
var disabledDays = ["5-15-2013", "6-23-2013"];
function disableAllTheseDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
for (i = 0; i < disabledDays.length; i++) {
if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) {
return [false];
}
}
return [true];
}
与:
<p:calendar id="pfdate" navigator="true" pattern="MM-dd-yyyy"
value="#{day}" BeforeShowDay="disableAllTheseDays" showOn="button"/>
但是,我的问题是如何使用 EL 表达式将日期存储在 disabledDays
数组中? 我需要这样做,因为我需要禁用的日期各不相同。禁用日期需要是动态的。如果我无法使用 EL 表达式执行此操作,是否可以使用具有动态数据的数组?
谢谢
最佳答案
一种可能是只转换 bean 中的值 ( ["5-15-2013", "6-23-2013"]
),然后将其直接放入 Javascript 代码中:
var disabledDays = #{myBean.disabledDays};
这不是最干净的,但却是最简单的。另一种可能性是只在 bean 中包含字符串列表并使用 <ui:repeat>
将其打印为逗号分隔列表。
关于java - Primefaces 日历 - 使用 EL 禁用特定日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17270895/