gpt4 book ai didi

JSF+Primefaces p :ajax on p:selectOneMenu not firing

转载 作者:行者123 更新时间:2023-12-02 07:41:50 25 4
gpt4 key购买 nike

我有一个包含帐号和两个日期字段的下拉列表。如果我更改下拉列表的值,我想重置日期字段。我还有一个搜索按钮,可以使用这些字段(帐户编号、起始日期、截止日期)进行查询。

<fieldset>
<p:selectOneMenu id="account_search" value="#{accountHistoryBean.account}" converter="accountConverter">
<f:attribute name="itemsList" value="#{accountHistoryBean.userAccounts}"/>
<f:selectItems value="#{accountHistoryBean.userAccounts}" var="account" itemLabel="#{account.number}" itemValue="#{account}"/>
<p:ajax update="start_date_search, end_date_search" event="change" actionListener="#{accountHistoryBean.resetDates}" process="account_search"/>
</p:selectOneMenu>
<fieldset>

<fieldset>
<p:calendar value="#{accountHistoryBean.fromDate}" id="start_date_search" pattern="dd/MM/yyyy"/>
</fieldset>

<fieldset>
<p:calendar value="#{accountHistoryBean.toDate}" id="end_date_search" pattern="dd/MM/yyyy"/>
</fieldset>



<fieldset>
<p:commandLink styleClass="regular_button" action="#{accountHistoryBean.search}" update=":search :accountHistoryList :accountHistoryList:accountHistTable" >
<span>#{msj.search}</span>
</p:commandLink>
</fieldset>

如果我执行以下操作:

  1. 更改“开始日期”和“结束日期”字段
  2. 更改帐户字段(使用 ajax 的下拉菜单)。

然后日期将重置为其默认值。

但如果我执行以下操作:

  1. 将“开始日期”和“结束日期”字段更改为 DATEX AND DATEY
  2. 按搜索
  3. 将“from Date”和“to Date”字段更改为 DATEX2 AND DATEY2
  4. 更改帐户字段(使用 ajax 的下拉菜单)。

然后它将日期字段更改为 DATEX 和 DATEY(不是默认值)。

Bean中的方法如下:

public void resetDates()
{
Calendar calendar = GregorianCalendar.getInstance();
//By default set toDate as 3/3
calendar.set(Calendar.MONTH, 2);
calendar.set(Calendar.DAY_OF_MONTH, 3);
toDate = calendar.getTime();
//By default fromDate is one month earlier
calendar.setTime(toDate);
calendar.add(Calendar.MONTH, -1);
fromDate = calendar.getTime();
}

public String search(){
//Just update the filters
lazyDataEntityModel.setUpdateData(true);
return null;
}

有什么帮助吗?

最佳答案

我变了

<p:ajax update="start_date_search, end_date_search" 
event="change"
actionListener="#{accountHistoryBean.resetDates}"
process="account_search"/>

为了

<p:ajax update="start_date_search, end_date_search" 
event="change"
listener="#{accountHistoryBean.resetDates}"
process="account_search"/>

它奏效了。

谢谢

关于JSF+Primefaces p :ajax on p:selectOneMenu not firing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10318061/

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