由于<p:calendar>
(readonlyInput="true")没有属性/选项将值重置为null,目前最好的解决方案是使用一些客户端JS来重置值,如:
但是,一旦clear按钮控制了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" />
然而它不工作…
问:
如何为 ajax p:日历组件实现重置按钮?
附录:
这里也问了同样的问题:http://forum.primefaces.org/viewtopic.php?f=3&t=27821。看起来jQuery可能是"有罪的一方"。无论如何,这应该是可以解决的。
如果你想重置将反映在服务器上,你应该使用p:commandButton
的action
<p:commandButton icon="ui-icon ui-icon-close"
action="#{myEntityManager.resetDate}"
process="end-date"
update="begin-date end-date" />
public void resetDate(){
selectedEndDate = null;
}