2012-10-07 69 views
2

我使用下面的XML得到一个生日日历:primefaces-3.3.1生日日历

<p:calendar pattern="MM-dd-yyyy" value="#{registration.birthDate}" 
    navigator="true" required="true" label="Birth Date" 
    id="birthDateCal" yearRange="c-100:c-17" /> 

日历是有一些问题,但。好像今年将在一个有趣的方式改变,当我打开日历:

enter image description here

没有人见过这个?

+0

奇...你使用的是什么版本Primefaces的? –

+0

primefaces-3.3.1 –

+1

请参阅我的编辑,以下解决方法可能会对您有所帮助。 –

回答

2

看来这已经是Primefaces中列出的一个bug了。

http://code.google.com/p/primefaces/issues/detail?id=2737

它被标记为不会与推理,这是与jQuery UI的日历组件的底层错误,并没有任何与Primefaces修复

下面的讨论在这里更详细地讨论了jQuery端的这个问题。

http://forum.jquery.com/topic/datepicker-yearrange-bug

本质上yearRange属性不工作的人会承担。它将设置年份范围不是在今天的日期,而是在日历组件呈现的当前选定日期。

编辑:

一种可能的方式来解决,这将是写,其确定从被管理bean方法动态yearRange的算法,并基于它今天的日期和出生日期之间的差。您可以设置yearRange="#{managedBean.dynamicYearRange()}"来动态调用它。

+0

非常好。谢谢。 –

2

更改为yearRange = “ - 100:-17”