我的 xhtml 页面中有一个单选按钮和一个 outputText。
当我选择单选按钮时,我希望 outputText 可见,而当我取消选择单选按钮时,OutputText 将不可见。
什么是可见/不可见标签?以及如何使用它?
有人知道吗?
谢谢
您可以检查rendered
输出文本的父级属性中的单选按钮值。您可以<f:ajax>
在单选按钮组内使用单选按钮每次更改时更新输出文本的父级。
开球示例:
<h:form id="form">
<h:selectOneRadio value="#{bean.radio}">
<f:selectItem itemValue="one" itemLabel="This should hide output text" />
<f:selectItem itemValue="two" itemLabel="This should show output text" />
<f:ajax render="output" />
</h:selectOneRadio>
<h:panelGroup id="output">
<h:outputText value="output text" rendered="#{bean.radio == 'two'}" />
</h:panelGroup>
</h:form>
请注意,您不能指向id
输出文本本身,因为 ajaxrender
需要一个始终呈现的组件以更新其内容。
根据您似乎表明您正在寻找客户端解决方案而不是服务器端解决方案的评论进行更新。在这种情况下,只需获取基本的 JavaScript。
<h:form id="form">
<h:selectOneRadio value="#{bean.radio}" onclick="document.getElementById('form:output').style.display = (value == 'two' ? 'block' : 'none')">
<f:selectItem itemValue="one" itemLabel="This should hide output text" />
<f:selectItem itemValue="two" itemLabel="This should show output text" />
</h:selectOneRadio>
<h:outputText id="output" value="output text" style="display: #{bean.radio == 'two' ? 'block' : 'none'}" />
</h:form>