2012-01-18 81 views
1

我正在使用PF RC1,JSF 2.0。p:今日日曆按鈕

當我點擊p:calendar的今日按鈕時,默認情況下它會突出顯示今天的日期,但要求是如果我點擊「今日」按鈕,我應該在相應的文本中獲得突出顯示的日期(今天的日期)領域。

這似乎也不適用於展示案例。 http://www.primefaces.org/showcase-labs/ui/calendarButtonPanel.jsf

是否有可能在Today按鈕上編寫自定義代碼,或者按照上面的說明使今天按鈕生效。

謝謝。

回答

1

基本上你需要做一個事件處理程序的jQuery綁定到彈出窗口上的Today按鈕。使用特定的jQuery UI類可以輕鬆找到此按鈕。

jQuery('.ui-datepicker-current').bind('click', function() { ... }); 

這個問題來的處理程序中點擊事件中,因爲你需要以某種方式從彈出式內觸發select事件,並有到這樣一些挑戰。我碰到的第一個問題是Datepicker javascript對象似乎沒有一個有意義的或可預知的ID來找到它。我確信有一種方法我還沒有看到它。

一旦你找到了這個JS對象,你可以調用_selectDay功能就可以通過下面的參數...

Datepicker._selectDay('#cal_input',0,2012, this); 

哪裏cal_input是日曆組件的文本字段的id,第二個和第三個參數我假設分別是月和年,那麼我假設的第四個參數是Datepicker本身。

即使這樣做,現有的jQuery UI錯誤關於選擇事件沒有在日期選取器上觸發,Primefaces將其用於Calendar組件。 http://forum.primefaces.org/viewtopic.php?f=3&t=9301這也可能影響做到這一點的能力。

我知道這不是一個明確的答案,但它是一個難題,我希望這給你一些見解。

+1

參見:http:// sta ckoverflow.com/questions/1073410/today-button-in-jquery-datepicker-doesnt-work –

+0

@CagatayCivici總結起來!感謝您找到此鏈接。 –

0

使用PrimeFaces 5.2,你可以添加showButtonPanel="true"p:calendar -tag

這將是這個樣子

datepicker with buttonpanel

當在按鈕上單擊,今天的日期選擇(生成selectevent )如下:

todays date