wat*_*tou 6 ajax events jsf primefaces
我试图使用onChange
事件selectOneMenu
,但它不起作用,当我添加onChange
attribue 时,组件不会显示.
有人能告诉我如何处理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>
Run Code Online (Sandbox Code Playgroud)
这是<f:ajax listener>
请求范围bean中的方法:
public void serviceChange() {
System.out.println("change");
}
Run Code Online (Sandbox Code Playgroud)
但是,当我更改菜单时,没有打印任何内容.
这是怎么造成的,我该如何解决?
Bal*_*usC 26
首先,onChange
是错误的事件名称.是的change
.其次,如果您打算调用HTML属性名称,onChange
也是错误的属性名称.是的onchange
.
回到你的具体问题; 标准JSF <f:ajax>
与PrimeFaces组件不兼容.你应该使用PrimeFaces <p:ajax>
而不是.
<p:selectOneMenu ...>
...
<p:ajax listener="#{newOpProgramme.serviceChange()}" update="nomCdp" />
</p:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)
请注意,我省略了event
和process
属性.他们都已经右边默认值valueChange
,并@this
分别.
归档时间: |
|
查看次数: |
52705 次 |
最近记录: |