ajax - 值更改监听器在 primefaces 日历中不起作用

标签 ajax jsf-2 primefaces

我正在使用 primefaces 3.2 和 JSF 2.0

我的情况是我的表单中有文件日期、最后日期和下一个日期。
当用户输入文件日期时,我需要更新 bean 中的文件日期值,因此它的值可以用作属性 mindate 的最后日期的最小日期,因此在下一个日期选择中。

根据我的知识值更改监听器可以在表单提交时执行,因此我无法使用它。我用过 p:ajax .但我仍然无法设置文件日期。由于未设置文件日期,它允许用户选择文件日期之前的最后一个日期和下一个日期。

caseMaster.xhtml

<p:calendar value="#{caseUitility.caseMaster.fileDate}" id="fileDate" effect="fadeIn" pattern="dd/MM/yyyy" readOnlyInputText="true">
    <p:ajax event="change" listener="#{caseUitility.dateChange}"/>
</p:calendar>

<p:calendar value="#{caseUitility.caseMaster.lastDate}" required="true" id="lastDate" effect="fadeIn" pattern="dd/MM/yyyy" readOnlyInputText="true" mindate="#{caseUitility.caseMaster.fileDate}" >
</p:calendar>

CaseUtility.java
public void dateChange(ActionEvent ae) {
    System.out.println("File Date: " + caseMaster.getFileDate());
    System.out.println("Hello... I am in DateChange");
}

任何人都可以指导我我在这里做错了什么?

最佳答案

在 PrimeFaces 的更新版本中, SelectEvent 应该使用看到下面的代码片段

<p:calendar id="event" value="#{calendarView.date4}">
    <p:ajax event="dateSelect" listener="#{calendarView.onDateSelect}" update="msgs" />
</p:calendar>
public void onDateSelect(SelectEvent event) {
    FacesContext facesContext = FacesContext.getCurrentInstance();
    SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
    facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Date Selected", format.format(event.getObject())));
}

在旧的primefaces 版本中使用 DateSelectEvent
<p:ajax event="dateSelect" listener="#{caseUitility.dateChange}"/>
public void dateChange(DateSelectEvent event) {
    Date date = event.getDate();
    System.out.println("File Date: " + date);
    System.out.println("Hello... I am in DateChange");
}

关于ajax - 值更改监听器在 primefaces 日历中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14099478/

相关文章:

javascript - 如何在 Ajax 加载的内容上重新附加/重新绑定(bind)事件?

php - Ajax 条件响应不起作用

jsf - 通过复合组件传递 MethodParameter

jsf-2 - 如何在 preRenderView 监听器方法中执行导航

javascript - Tapestry 5.3 如何使用按钮检索文本字段值但不提交表单

jsf - JSF 2 和 IceFaces 2 的 Maven 依赖项

java - Primefaces + MyFaces + CDI (OpenWebBeans) + WAS 8.5

javascript - 如何将 JSON 对象从 Java/Prime Faces 传递到 GOJS javascript 文件

javascript - 如何通过 JavaScript 调用带有参数的托管 bean 方法

javascript - 如何停止使用 onload() 函数以避免页面刷新时丢失 PHP 输出?