pro*_*mer 2 jsf primefaces jsf-2
我试着以这种方式使用带有弹出窗口的primefaces日历:
<p:calendar pattern="yyyy-MMM-dd" value="#{controller.beginDate}" mask="true" navigator="true">
<f:ajax event="valueChange" listener="#{controller.onChange}" />
</p:calendar>
Run Code Online (Sandbox Code Playgroud)
这是相对控制器:
@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
}
}
Run Code Online (Sandbox Code Playgroud)
问题:如果我从输入字段更改值,则事件将执行,但如果我从弹出窗口更改它,则事件将不会执行.
谁能帮我?
该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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
900 次 |
| 最近记录: |