我的xhtml页面中有一个单选按钮和一个outputText。
当我选择单选按钮时,我希望outputText可见 当我取消选择单选按钮时,OutputText将不可见。
什么是可见/不可见标签?以及如何使用它?
有人知道吗?
由于
答案 0 :(得分:2)
您可以检查输出文本父级的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
,因为ajax render
需要一个始终呈现的组件才能更新其内容。
更新根据您的评论,您似乎表明您正在寻找客户端解决方案而不是服务器端解决方案。在这种情况下,只需抓取基本的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>