在primefaces中动态允许一定范围的日期

时间:2013-12-17 11:30:51

标签: jsf events date primefaces

我使用maxdate和mindate为两个日期字段动态选择日期(从日期到日期)使用以下代码 -

<p:calendar id="FromDate" value="#{controller.fromDt}" showOn="button" 
    maxdate="#{controller.toDt}" >
       <p:ajax event="dateSelect" update="ToDate"></p:ajax>
    </p:calendar>

 <p:calendar id="ToDate" value="#{controller.toDt}" showOn="button"
     mindate="#{controller.fromDt}">
       <p:ajax event="dateSelect" update="FromDate"></p:ajax>
    </p:calendar>

如果选择了日期,一切似乎都能正常工作。限制适用于其他相关日历。如果设置了 fromDate ,则会对 todate 应用限制。但是,一旦使用退格键或删除功能删除 fromdate toDate 字段中的限制仍然存在。

我理解当删除日期时,它不是dateSelect事件,但即使尝试放置valueChange事件也不会起作用,因为只有在提交页面时才会触发valueChangeEvent。

有人可以建议我如何解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:6)

只需添加另一个带有更改事件的p:ajax

<p:calendar id="FromDate" value="#{controller.fromDt}" showOn="button" 
  maxdate="#{controller.toDt}" >
   <p:ajax event="dateSelect" update="ToDate"></p:ajax>
   <p:ajax event="change" update="ToDate"></p:ajax>
</p:calendar>