PrimeFaces号码:与readonlyInput日历=“真正的”复位键没有造成AJAX请求(P

2019-10-30 23:00发布

由于是为无属性/选项<p:calendar> (readonlyInput =“真”)重置为空值时,最好的解决方案是目前使用一些客户端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" />

但是它不工作...

问:

如何实现一个AJAXed P A复位按钮:日历组件?

附录:

同样的问题在这里问: http://forum.primefaces.org/viewtopic.php?f=3&t=27821 。 这似乎是jQuery的可能是“有罪的一方”。 不管怎么说,这应该可以解决/解恕我直言。

Answer 1:

如果你想重置将在服务器上得到体现,你应该使用actionp: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;
}


文章来源: PrimeFaces p:calendar with readonlyInput=“true” reset button causing no AJAX request