2012-11-19 204 views
3

由于,我使用如下组件与datePattern入驻值的部分后一周的一天日历忽略格式模式请求的itemBean中的effectiveDate正确显示在文本字段中。丰富:选择

  1. 在日历上点击图标时

    ,文本字段的内容将消失:

    问题。所以如果我没有从日历弹出窗口中选择任何内容,那么文本字段保持空白。

  2. 时的日期被选中它显示像(例如):

EEEE,2012年11月19日 所以不能正常显示星期几。

注意到,如果没有指定星期(EEEE部分datePattern),则不会出现上述问题。

是否有一些具体的方式来显示选择后的第一周?

我在RichFaces 4.2.2上。

谢谢!

回答

2

因为我认为这是一个已知的问题<rich:calendar>。我对此不甚了解。
但是试试这个,

<rich:calendar id="effectiveDate" value="#{itemBean.effectiveDate}" onchanged="formatCalendarString(event, this);" datePattern="EEEE, MM/dd/yyyy" /> 

<head></head>标签把这个。

<head> 
    <script> 
     function formatCalendarString(event, cal) { 
      var date = new Date(Date.parse(event.rich.component.getSelectedDate())); 
      var weekdays=new Array(7); 
      weekdays[0]='Sunday'; 
      weekdays[1]='Monday'; 
      weekdays[2]='Tuesday'; 
      weekdays[3]='Wednesday'; 
      weekdays[4]='Thursday'; 
      weekdays[5]='Friday'; 
      weekdays[6]='Saturday'; 

      var day = weekdays[date.getDay()]; 
      if(typeof(day) !== 'undefined') { 
       var formattedDate = (day + ', ') + event.rich.component.getSelectedDateString().substring(6); 
       cal.value = formattedDate; 
      } 
     } 
    </script> 
</head> 
+0

谢谢。由于我使用了几个包含模板,因此将脚本正确放置会有点棘手,所以日历会找到它。另一件事 - 这个特定日历的事件与表单中显示的值之间的关系并不那么直截了当。我已经开始考虑切换到别的东西(如PrimeFaces的日历),在这种情况下是最简单的方法。 – user1801069