当前位置: 首页 > 面试题库 >

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

倪灿
2023-03-14
问题内容

当我尝试从备用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

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>

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



 类似资料:
  • 问题内容: 我的页面结构是: 如何在不刷新整个页面的情况下更新/刷新组件? 一旦用户成功登录,我想在标题中隐藏“登录”链接。标题在所有组件/路由中都是通用的。 问题答案: 您可以使用 来在整个应用程序的不同组件之间进行通信。您可以定义一个数据共享服务,其中包含 您可以订阅和发出更改的服务。 定义数据共享服务 在您的 提供商条目中添加。 接下来,将导入到您和您在其中执行登录操作的组件中。在订阅主题更

  • 问题内容: 这是阿贾克斯 这可行,但是我希望更改URL,因为我在那里有很多参数,当然还有该参数。 问题答案: 您可以对成功的动作执行此操作: 有关基本操作方法,请参见这篇文章,以在不重新加载页面的情况下修改URL。 附加说明: 第一个参数是网页状态更改时(例如,每当有人在浏览器中按下后退或前进按钮时)所需的数据。请注意,在Firefox中,此数据限制为640k个字符。 title是第二个参数,可以

  • 问题内容: 如何在不刷新页面的情况下更改URL? 我已经用CodeIginer建立了一个网站,我想在我的页面之一中实现AJAX和JQuery。问题是; 当我加载内容时,URL不会改变。 假设我有URL 和另一个URL: 单击按钮时如何将第一个URL更改为第二个URL? 问题答案: 在HTML5中,您可以更改URL: 检查http://spoiledmilk.com/blog/html5-chang

  • 如果我关闭一个扫描仪对象,并创建一个新的对象,并尝试读取更多的输入,我将得到异常。 我的代码工作正常,但是如果我不关闭扫描仪,它会给我一个警告。但是,如果我关闭它以摆脱警告,我也关闭...我如何避免这种情况? 另外,不关闭扫描仪是否有任何后果? 编辑:这是我的代码: 这是NameAddressExists()方法: 这是PanNumberExists()方法: 从以下main()方法调用这些方法:

  • 问题内容: 我在JSF页面中有这3个字段 我也有一个具有以下属性的后备豆: 我希望在将某些值插入字段val1和val2中而不刷新页面时,outputText元素自动更改其值。结果变量应以这种方式计算(它正在计算百分比):(val1 * val2)/ 100 您能帮我解决我的一些疑问吗?: 我知道为此,我需要javascript或AJAX之类的东西。您认为最好的方法是什么? 我很想知道我如何使用AJ

  • 我有一个用户名列表,用户名列表根据用户输入的数量而增加。问题是,当用户输入用户名时,列表会被输入填充,只有当我的页面重新加载时,我的页面才会更新。这是我迄今为止尝试过的代码。 我无法在外页重新加载的情况下更新数据。请建议我如何更新ui:在外页重新加载的情况下重复数据。提前谢谢。