2013-11-21 33 views
0

我的工作在JSF Primefaces,我只是想禁用日曆中的所有星期天,禁用p:日曆中的特定日期?

我該怎麼辦呢,,

  • 正如我提到的網站,我有一點我們可以實現它使用beforeShowDay但我不知道如何使用它。
  • Primefaces user guide第10頁解釋它,但我不明白他們想說什麼。

    <p:calendar value="#{dateBean.date}" beforeShowDay="tuesdaysAndFridaysOnly" /> 
    
    function tuesdaysAndFridaysDisabled(date) 
    { 
        var day = date.getDay(); 
        return [(day != 2 && day != 5), ''] 
    } 
    

在上面的代碼中,他們從beforeShowDay調用該函數tuesdaysAndFridaysDisabled但我的問題是

  • 他們爲tuesdaysAndFridaysOnly調用該函數的名稱,但它會如何影響功能tuesdaysAndFridaysDisabled

它不工作太..如何實現它,發生了什麼..

回答

3

這是Primefaces文檔中的錯誤。他們的功能tuesdaysAndFridaysDisabled應該被調用,而不是tuesdaysAndFridaysOnly,這是一個JavaScript函數,您可以調用以自定義日期。

所以正確的源代碼看起來像

<p:calendar value="#{dateBean.date}" beforeShowDay="tuesdaysAndFridaysDisabled" /> 

而且功能tuesdaysAndFridaysDisabled中,你可以做任何你想要提供的參數日期。在這種情況下,星期二(2)和星期五(5)被禁用。

function tuesdaysAndFridaysDisabled(date) 
{ 
    var day = date.getDay(); 
    return [(day != 2 && day != 5), ''] 
} 

的文檔狀態:

該函數返回具有兩個值的數組,第一個是一個標記, 指示是否爲啓用和第二參數日期將被顯示的 可選風格類添加日期單元格。如你所見。

正如你所看到的。如果date是星期二或星期五,則返回數組中的第一個參數是false,這意味着在p:calendar內不會選擇這些天。

更新: 您可以在這裏找到類似的問題:Disable specific dates on p:calendar

+0

尼斯我得到it..but的東西是腳本的功能是沒有得到調用。並且日期選擇器也不會彈出。 – kark

+0

檢查'p:calendar'中提供的函數的命名和javascript函數。它必須做一個頁面刷新並清除緩存。你看到在瀏覽器的控制檯任何警告/錯誤(使用開發工具/ Firebug的,看看控制檯)。爲什麼日曆不彈出另外一個問題,創建一個單獨的一個,請。 – Manuel

+0

噢,謝謝你的建議 – kark