(readonlyInput="true") には値を null にリセットするための属性/オプションがないため<p:calendar>
、現在利用できる最善の解決策は、次のようにクライアント JS を使用して値をリセットすることです。
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" />
しかし、それは機能していません...
Q:
AJAXed p:calendar コンポーネントのリセット ボタンをどのように実装しますか?
補遺:
同じ質問がここで尋ねられました: http://forum.primefaces.org/viewtopic.php?f=3&t=27821。jQuery が「有罪の当事者」になる可能性があるようです。とにかく、それは解決/解決可能なIMHOである必要があります。