2013-01-09 26 views
0

由於<p:calendar>(readonlyInput =「true」)沒有屬性/選項將值重置爲null,所以當前最好的解決方案是使用一些客戶端JS重置值喜歡這裏:PrimeFaces p:帶有readonlyInput =「true」的日曆重置按鈕不會導致AJAX請求

https://stackoverflow.com/a/12325640/396732

然而,儘快清除按鈕控制的AJAX按鈕,新的日曆值不提交。

我嘗試處理結束日期按鈕,如:

   <p:calendar id="end-date" 
          widgetVar="myEntityEndDate" 
          value="#{myEntityManager.selectedEndDate}" 
          readonlyInput="true" 
          showOn="button"> 
        <!-- update dependent "begin" calendar component: --> 
        <p:ajax event="dateSelect" process="@this" update="begin-date" /> 
       </p:calendar> 
       <p:commandButton icon="ui-icon ui-icon-close" 
           onclick="myEntityEndDate.setDate(null);" 
           process="end-date" 
           update="begin-date end-date" /> 

但是它不工作...

問:

如何實現復位按鈕爲AJAXed p:日曆組件?

附錄:

同樣的問題在這裏問:http://forum.primefaces.org/viewtopic.php?f=3&t=27821。看起來jQuery可能是「罪惡派對」。無論如何,這應該是解決/可解的恕我直言。

+0

action你可以使用'oncomplete',而不是'onclick',比如'的onComplete =「myEntityEndDate.setDate(空);或者只是將bean的值設置爲null如果你希望前面的值而不是null你可以使用'' – fischermatte

+0

但是在處理完AJAX請求之後沒有完成* ?我看到的問題是,根本沒有AJAX請求... – Kawu

+0

@Kawu。如果你想要一個客戶端只有操作,比嘗試改變你的按鈕到這個:'' – Daniel

回答

1

如果你想重置將在服務器上得到體現,你應該使用的p:commandButton

<p:commandButton icon="ui-icon ui-icon-close" 
    action="#{myEntityManager.resetDate}" 
    process="end-date" 
    update="begin-date end-date" /> 


public void resetDate(){ 
    selectedEndDate = null; 
} 
相關問題