【问题标题】:PrimeFaces calendars and mindate attributePrimeFaces 日历和 Mindate 属性
【发布时间】:2014-08-22 01:31:04
【问题描述】:

我正在使用 primefaces 日历组件。我有两个日历组件,我希望第二个日历的 mindate 属性更新为第一个日历的日期。

<p:calendar id="fromDate" effect="drop" navigator="true" value="#{myBean.fromDate}">
 <f:ajax event="dateSelect" execute="@this" render="toDate"/>
</p:calendar>   

<p:calendar id="toDate" effect="drop" navigator="true" mindate="#{myBean.fromDate}"/>

它可以正常工作,除非在第一个日历中有一个日期,然后用户删除了这个日期。第二个日历不会再次呈现,并且它在不应该出现的时候有一个 mindate 值,因为用户删除了第一个日历的日期。

【问题讨论】:

  • 当你说“用户删除这个日期”时,他是手动删除日期吗?如,您正在接受用户输入吗?如果是这种情况,那么您可能还想处理 change 事件。
  • 是的,我正在接受用户输入。当用户从输入字段中删除日期时,我希望第二个日历会在没有任何想法的情况下更新。

标签: jsf-2 primefaces calendar


【解决方案1】:

我找到了解决办法:

<p:calendar id="fromDate" effect="drop" navigator="true" value="#{myBean.fromDate}">
  <f:ajax event="dateSelect" execute="@this" render="toDate"/>
  <f:ajax event="change" execute="@this" render="toDate" />
</p:calendar>   

<p:calendar id="toDate" effect="drop" navigator="true" mindate="#{myBean.fromDate}"/>

有必要添加第二个 ajax 标签。

当用户更改日期并从日历中选择一个日期时,需要第一个。 当用户更改输入字段中的日期时,需要第二个。

当用户从输入字段中删除日期时,第二个 ajax 标签会更新第二个日历的 Mindate。

【讨论】:

  • 很高兴我的评论有帮助。
猜你喜欢
  • 2013-04-29
  • 2013-09-29
  • 1970-01-01
  • 2012-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多