如何在单击后使用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>