java - 如何更新 p :selectCheckboxMenu without the component being closed after ajax call in primefaces? 的标签

标签 java javascript ajax jsf-2 primefaces

当我尝试从支持 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>

//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() "

关于java - 如何更新 p :selectCheckboxMenu without the component being closed after ajax call in primefaces? 的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9964759/

相关文章:

java - Hadoop聚合两个功能

javascript - 来自外部 JSON 文件的主干集合未呈现

javascript - Javascript/jQuery 中的并行 Ajax 调用

javascript - 使用 jquery json ajax php 删除整行

java - 如何在for循环中动态调用Java Bean的方法

java - 端口 465 的 ssl false 不会引发服务器 smtp.gmail.com 的异常

java - 将 WSDL 文件写入现有 Web 服务

javascript - 如何在javascript中获取图像作为警报

javascript - 如何替换 select2 默认微调器?

javascript - 如何使用 ID 循环 JavaScript 函数?