Sri*_*sha 13 javascript java ajax primefaces jsf-2
当我尝试从辅助bean动态生成标签时,会出现一个问题.问题是每个选择的下拉列表都会消失,但标签会正确更新.这有解决方法吗?
<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>
Run Code Online (Sandbox Code Playgroud)
和
//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);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Dan*_*iel 19
这是怎么回事
添加widgetVar="someVarName"到您的p:selectCheckboxMenu
并p:"ajax通过添加修改您的oncomplete="someVarName.show()"
完整代码:
<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>
Run Code Online (Sandbox Code Playgroud)
在最新的PrimeFaces中你应该使用oncomplete="PF('someVarName').show()"而不是oncomplete="someVarName.show()"
| 归档时间: |
|
| 查看次数: |
14520 次 |
| 最近记录: |