如何在单击后使用ajax隐藏h:selectOneListbox组件?

如何在单击后使用ajax隐藏h:selectOneListbox组件?,ajax,jsf,jsf-2,Ajax,Jsf,Jsf 2,我有一个,当单击时会出现。当用户从列表框中选择时,我希望所选值显示在中并隐藏列表框 我无法使一旦出现就停止渲染。当视图第一次出现时,rendered属性可以正常工作,但在我单击列表并调用侦听器后会被忽略 有什么想法吗 以下是Facelet: <h:panelGroup> <h:inputText id="TitleText" value="#{bindingScheduleHandler.title}"/> <h:commandButton valu

我有一个
,当单击
时会出现。当用户从列表框中选择时,我希望所选值显示在
中并隐藏列表框

我无法使
一旦出现就停止渲染。当视图第一次出现时,
rendered
属性可以正常工作,但在我单击列表并调用侦听器后会被忽略

有什么想法吗

以下是Facelet:

<h:panelGroup>
    <h:inputText id="TitleText" value="#{bindingScheduleHandler.title}"/>
    <h:commandButton value="Clients" actionListener= #bindingScheduleHandler.clientList}" />

    <h:selectOneListbox id="listBox" value="#{bindingScheduleHandler.clients}" size="5"  
        rendered="#{bindingScheduleHandler.showClients}">
        <f:selectItems value="#{bindingScheduleHandler.clientLabelsValues}" />
        <f:ajax event="click" listener="#{bindingScheduleHandler.clickListener}"  
            render="TitleText" />
    </h:selectOneListbox>
</h:panelGroup>
中,不能引用JSF有条件呈现的组件。相反,您需要引用始终呈现的父组件。简单的解释是,
使用JavaScript更新JSF组件表示的HTML元素的内容(节点值)。无法显示/隐藏HTML元素本身

只需更新父组件即可

<h:panelGroup id="group">
    <h:inputText id="TitleText" value="#{bindingScheduleHandler.title}"/>
    <h:commandButton value="Clients" actionListener= #bindingScheduleHandler.clientList}" />

    <h:selectOneListbox id="listBox" value="#{bindingScheduleHandler.clients}" size="5"  
        rendered="#{bindingScheduleHandler.showClients}">
        <f:selectItems value="#{bindingScheduleHandler.clientLabelsValues}" />
        <f:ajax event="click" listener="#{bindingScheduleHandler.clickListener}"  
            render="group" />
    </h:selectOneListbox>
</h:panelGroup>

<h:panelGroup id="group">
    <h:inputText id="TitleText" value="#{bindingScheduleHandler.title}"/>
    <h:commandButton value="Clients" actionListener= #bindingScheduleHandler.clientList}" />

    <h:selectOneListbox id="listBox" value="#{bindingScheduleHandler.clients}" size="5"  
        rendered="#{bindingScheduleHandler.showClients}">
        <f:selectItems value="#{bindingScheduleHandler.clientLabelsValues}" />
        <f:ajax event="click" listener="#{bindingScheduleHandler.clickListener}"  
            render="group" />
    </h:selectOneListbox>
</h:panelGroup>