Java 在primefaces中调用ajax后,如何在不关闭组件的情况下更新p:selectCheckboxMenu的标签?

Java 在primefaces中调用ajax后,如何在不关闭组件的情况下更新p:selectCheckboxMenu的标签?,java,javascript,ajax,jsf-2,primefaces,Java,Javascript,Ajax,Jsf 2,Primefaces,当我试图从支持bean动态生成标签时,出现了一个问题。问题在于,每次选择时出现的下拉列表都会消失,但标签会正确更新。有解决办法吗 及 这里是如何 将widgetVar=someVarName添加到p:SelectCheckBox菜单 并通过添加oncomplete=someVarName.show修改p:ajax 完整代码: <p:selectCheckboxMenu widgetVar="someVarName" value="#{usersManagmentPage.selectedM

当我试图从支持bean动态生成标签时,出现了一个问题。问题在于,每次选择时出现的下拉列表都会消失,但标签会正确更新。有解决办法吗

这里是如何

将widgetVar=someVarName添加到p:SelectCheckBox菜单

并通过添加oncomplete=someVarName.show修改p:ajax

完整代码:

<p:selectCheckboxMenu widgetVar="someVarName" value="#{usersManagmentPage.selectedMovies}" 
        label="#{usersManagmentPage.moviesLabel}"   id="Movies" >
    <f:selectItems value="#{usersManagmentPage.movies}" ></f:selectItems>
    <p:ajax oncomplete="someVarName.show()" listener="#{usersManagmentPage.populateLabel}" update="Movies" ></p:ajax>
</p:selectCheckboxMenu>

在最新的PrimeFaces中,您应该使用oncomplete=PF'someVarName'。show而不是oncomplete=someVarName.show

您正在使用最新的夜间版本吗?如果你不是,那么试试。。。你好谢谢你的回复。。。我将构建添加到我的项目中。。。我试着给它一个事件,并试图做同样的事情,但我仍然有同样的问题。。。另外,我想知道除了变更事件之外,新版本是否还有其他类似onmenuclose的evnet???我想告诉您,以前的方法确实有效,但问题是每次选择时,菜单都会关闭,然后我会再次打开菜单进行任何其他选择。您的意思是添加一个最新的jar解决了原来的问题吗?@Daniel:不,我的意思是,即使添加了最新的jar,问题仍然存在。我想知道,除了变更事件之外,是否还有其他类似于onmenuclose的事件与预构建事件相关联。如果有,我的问题就会解决。我浏览了文档并在谷歌上搜索了一下,但令人震惊的是,与之相关的事件信息却少得可怜。如果有人还想知道:现在你必须使用oncomplete=PF'someVarName'。show才能让它发挥作用-我花了一段时间才想出了一些有用的方法,但是有了这个解决方案,当通过show再次打开菜单时,它总是重新定位在菜单项列表的顶部,当您有菜单项时,它可以是PITA。关于如何解决这个问题有什么想法吗?在我的情况下,取消选择一个项目也不起作用。它立即被重新选择。这是工作,但小部件的位置是页面上不同的位置点。我有datatable和它的每个单元格包括SelectCheckBox菜单
<p:selectCheckboxMenu widgetVar="someVarName" value="#{usersManagmentPage.selectedMovies}" 
        label="#{usersManagmentPage.moviesLabel}"   id="Movies" >
    <f:selectItems value="#{usersManagmentPage.movies}" ></f:selectItems>
    <p:ajax oncomplete="someVarName.show()" listener="#{usersManagmentPage.populateLabel}" update="Movies" ></p:ajax>
</p:selectCheckboxMenu>