gpt4 book ai didi

ajax - doesn't work on PrimeFaces component

转载 作者:行者123 更新时间:2023-12-04 13:03:35 24 4
gpt4 key购买 nike

我试图使用 onChange selectOneMenu的事件,但它不起作用并且当我添加 onChange 时该组件不显示属性。

有人能告诉我如何处理 onChange <p:selectOneMenu>的事件?

这是我的观点:

<p:selectOneMenu id="service" filterMatchMode="startsWith">  
<f:selectItem itemLabel="Selectionner un Service : " />
<f:selectItems value="#{newOpProgramme.listeSevice}" var="service" itemValue="#{service.serviceId}" itemLabel="#{service.serviceNom}"/>
<f:ajax event="change" execute="@this" listener="#{newOpProgramme.serviceChange()}" render="nomCdp"/>
</p:selectOneMenu>

这是 <f:ajax listener>请求范围bean中的方法:
public void serviceChange() {
System.out.println("change");
}

但是,当我更改菜单时,没有打印任何内容。

这是怎么引起的,我该如何解决?

最佳答案

首先,onChange是错误的事件名称。它是 change .其次,如果你打算调用HTML属性名,onChange也是错误的属性名称。它是 onchange .
回到你的具体问题;标准 JSF <f:ajax>与 PrimeFaces 组件不兼容。您应该使用 PrimeFaces 自己的 <p:ajax> 反而。

<p:selectOneMenu ...>
...
<p:ajax listener="#{newOpProgramme.serviceChange()}" update="nomCdp" />
</p:selectOneMenu>
请注意,我省略了 eventprocess属性。他们都已经有了正确的默认值 valueChange@this分别。
也可以看看:
  • What values can I pass to the event attribute of the f:ajax tag?
  • Understanding PrimeFaces process/update and JSF f:ajax execute/render attributes
  • 关于ajax - <f :ajax> doesn't work on PrimeFaces component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18329433/

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