2012-11-19 259 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