【问题标题】:How disable date selection for previous days in RichFaces Calendar?如何在 RichFaces 日历中禁用前几天的日期选择?
【发布时间】:2013-04-25 11:29:30
【问题描述】:

我会禁用<rich:calendar> 中当前日期之前的日期。 我已经在 Google 上搜索过了,但目前似乎没有任何效果。

知道如何以简单的方式做到这一点吗?

这是我目前的代码:

<rich:calendar id="since" popup="false" value="#{c.since}" datePattern="dd/MM/yyyy" firstWeekDay="1" showWeeksBar="false" showApplyButton="false" showFooter="false"  >
    <a4j:ajax event="change" execute="@this" render="_since"/>
</rich:calendar>

【问题讨论】:

  • 我认为你应该通过 backing bean 滚动你自己的控制机制。
  • 我会这样做,但我也想在视图中加入这个功能。

标签: jsf jsf-2 calendar richfaces


【解决方案1】:

如图Showcase

<script type="text/javascript">
    // <![CDATA[
    var curDt = new Date();
    disableBeforeToday = function(day) {
        return (curDt.getTime() - day.date.getTime() < 0);
    }
    // ]]>
</script>
…

<rich:calendar dayDisableFunction="disableBeforeToday" …>

注意你必须使用&amp;lt;,因为JSF引擎会认为&lt;是一个新标签的开始。

【讨论】:

  • 您可以在 javascripts 周围使用 CDATA 部分来避免代码中&amp;...; 转义的混乱。见stackoverflow.com/questions/7092236/what-is-cdata-in-html
  • 我没有看到这个橱窗,它和现在的橱窗不一样。感谢您的回答,如果我在展示中已经解释过的事情打扰您,我们深表歉意。
  • 不一样,但禁用前几天是展示代码的一部分。而且你没有打扰,我正在链接展示更多内容以展示我从哪里得到它,而不是向你展示你看起来不够努力;)
猜你喜欢
  • 1970-01-01
  • 2014-02-08
  • 1970-01-01
  • 1970-01-01
  • 2020-04-15
  • 2012-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多