gpt4 book ai didi

ajax - 如果设置了其他 SelectOneMenu 的值,则更新 SelectOneMenu(未触发事件)

转载 作者:行者123 更新时间:2023-12-04 21:20:32 27 4
gpt4 key购买 nike

在我的应用程序中,如果设置了另一个 SelectOneMenu,我将尝试设置/更新 SelectOneMenu。我们使用的是primefaces,所以我检查了primefaces 展示并找到了我正在寻找的东西。不幸的是它不起作用。事件没有被触发,我不知道为什么。希望你能帮助我

Link to the Example of the primefaces showcase

-> 如果设置了语言,它应该自动重新加载带有称呼的列表,但它不会。我必须按F5重新加载。有任何想法吗?

我的 xhtml 代码

<h:form id="addressBasicsForm">
<p:growl id="growl" sticky="true" showDetail="true"/>
<p:tabView id="tabView">
<p:tab id="stammdaten" title="#{msg.adr_basics_tabtitle}">
<table style="width:100%;">
<tr>
<td style="width: 50%;">
<p:panel toggleable="false">
<table style="margin-top:3px; width:100%;">
<tr style="height:26px;">
<td>
<p:selectOneMenu id="somLang" value="#AddressBasics_m.languageId}" style="margin-left:2px; width:90%;">
<f:selectItems value="#{AddressBasics_m.languageItems}"/>
<p:ajax update="somAnrede" listener="#{AdressBasics_m.handleLanguageChange}"/>
</p:selectOneMenu>
</td>
</tr>
<tr style="height:26px;">
<td>
<p:selectOneMenu id="somAnrede" value="#AddressBasics_m.salutationId}" style="margin-left:2px; width:90%;">
<f:selectItems value="#{AddressBasics_m.salutationItems}" />
</p:selectOneMenu>
</td>

我的 bean
@Named("AddressBasics_m")
@ConversationScoped
public class AddressBasicsView implements Serializable{
private static final long serialVersionUID = -4034697810438325785L;

public List<SelectItem> getSalutationItems(){
if(firstrun)
languageId = 21L;

firstrun = false;
if(salutationItems == null || lastLanguageId != languageId){
salutationItems = addressService.getAllSalutationsByLangId(languageId);
setLastLanguageId(languageId);
}
return salutationItems;
}

public void handleLanguageChange(){
this.salutationItems = getSalutationItems();
}

最佳答案

我相信问题出在您的 Ajax 调用上。
Ajax 可能非常棘手,我会推荐两种不同的方法:

<p:ajax render="@form" listener="#{AdressBasics_m.handleLanguageChange}"/>

或者
<p:ajax update=":addressBasicsForm:tabView:stammdaten:somAnrede" listener="#{AdressBasics_m.handleLanguageChange}"/>

关于ajax - 如果设置了其他 SelectOneMenu 的值,则更新 SelectOneMenu(未触发事件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12641409/

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