如何更新p的标签:在primefaces中ajax调用后,在不关闭组件的情况下选择CheckboxMenu
How to update the label of p:selectCheckboxMenu without the component being closed after ajax call in primefaces?
当我试图从backingbean动态生成标签时,出现了一个问题。问题是,每次选择显示的下拉列表都会消失,但标签会正确更新。有解决办法吗?
<p:selectCheckboxMenu value="#{formBean.selectedMovies}" label="#{formBean.moviesLabel}" id="Movies" >
<f:selectItems value="#{formBean.movies}" ></f:selectItems>
<p:ajax update="Movies" listener="#{formBean.populateLabel}"></p:ajax>
</p:selectCheckboxMenu>
和
//Backing bean
public void populateLabel() {
/* Populating the label with the selected options */
moviesLabel = new String("");
if (selectedMovies.size() == 0) {
moviesLabel = "Select";
} else {
for (int i = 0; i < selectedMovies.size(); i++) {
if (moviesLabel.length() == 0) {
moviesLabel = selectedMovies.get(i);
} else {
moviesLabel = moviesLabel + "," + selectedMovies.get(i);
}
}
}
}
以下是
将widgetVar="someVarName"
添加到p:selectCheckboxMenu
并通过添加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()"
相关文章:
- 选择值,然后只调用函数
- 如何在页面加载angular js上设置从ajax调用中选择的选项
- 从Document调用onchange函数.已准备好从更新中预先选择的项目
- Jquery-如何获取插件调用的选择器
- 从Bootstrap Dropdown中选择后调用javascript
- jQuery选择ajax调用中附加的元素不起作用
- 如何在从下拉列表中选择不同的值后更新和调用javascript函数
- 从下拉列表中选择多个值并调用javaScript函数
- 如何调用更改事件,例如在 HTML 数据列表上选择
- 调用函数单击选择标签中的选项
- 如何在文件打开和调用图像区域选择时获取原始图像大小
- 在选择标记中的更改不调用函数
- 更改调用函数时选择框的选项值
- 通过类选择器单独调用方法
- 用于确定 AJAX 调用的引导选项卡选择
- ajax调用后$('')选择器不工作
- 在angularjs中更改选择选项时调用函数
- Jquery.on()未调用选择器
- 如何使用jQuery从动态内容调用选择器
- 调用/选择Json数据中的某些项目