gpt4 book ai didi

jsf - Primefaces 5.1 日历弹出窗口不执行 valueChange 事件

转载 作者:行者123 更新时间:2023-12-02 15:28:06 25 4
gpt4 key购买 nike

我尝试以这种方式使用带有弹出窗口的 primefaces 日历:

<p:calendar pattern="yyyy-MMM-dd" value="#{controller.beginDate}" mask="true" navigator="true">
<f:ajax event="valueChange" listener="#{controller.onChange}" />
</p:calendar>

这是相对 Controller :

@ManagedBean
public class Controller {
private Date beginDate;

public Date getBeginDate() {
return beginDate;
}

public void setBeginDate(Date beginDate) {
this.beginDate = beginDate;
}

public void onChange() {
// do somethings
}
}

问题:如果我从输入字段更改值,事件将被执行,但如果我从弹出窗口更改它,事件将不会执行。

谁能帮帮我?

最佳答案

valueChange事件仅由 HTML DOM 触发 change事件。当通过 JavaScript 方式操作输入值时,这确实不会被触发。

您需要 dateSelect事件代替。而且,在 PrimeFaces 组件中,你最好使用 <p:ajax>而不是 <f:ajax> .

<p:calendar ...>
<p:ajax event="valueChange" listener="#{controller.onChange()}" />
<p:ajax event="dateSelect" listener="#{controller.onChange()}" />
</p:calendar>

另见:

关于jsf - Primefaces 5.1 日历弹出窗口不执行 valueChange 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29370587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com