我正在使用 JSF2 和 Java 构建 Web 应用程序。我想构建一个如下图所示的表单:
当有人取消选中复选框时,表单应该消失:
Here是 gwt 的一个例子。
到目前为止,
我用 <f:ajax>
尝试了一些东西标签和 PropertyActionListener
在 managedBean 中,但它没有用。有人可以给我一个例子或至少一些提示来实现我的目标。非常感谢
最佳答案
使用 <f:ajax render="idOfPanelContainingInputFields">
在复选框中并为包含输入字段的组件提供 rendered
取决于复选框状态的属性。不再需要困惑的 JS 代码。
<h:form>
<fieldset>
<legend>
<h:selectBooleanCheckbox binding="#{showUserInfo}">
<f:ajax render="idOfPanelContainingTextBox" />
</h:selectBooleanCheckbox>
<h:outputText value="User information" />
</legend>
<h:panelGroup id="idOfPanelContainingTextBox" layout="block">
<ui:fragment rendered="#{not empty showUserInfo.value and showUserInfo.value}">
<p>
<h:outputLabel for="firstName" value="First name:" />
<h:inputText id="firstName" value="#{bean.user.firstName}" />
</p>
</ui:fragment>
</h:panelGroup>
</fieldset>
</h:form>
上面的例子将复选框绑定(bind)到 View 上,你当然也可以将它绑定(bind)到一个boolean
上。 bean 属性,然后您可以删除 not empty
从 rendered
检查属性。
<h:selectBooleanCheckbox value="#{bean.showUserInfo}">
...
<ui:fragment rendered="#{bean.showUserInfo}">
另见:
关于javascript - 使用 h :selectBooleanCheckbox 显示/隐藏另一个输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3698579/