javascript - 使用 h :selectBooleanCheckbox 显示/隐藏另一个输入字段

标签 javascript jsf jsf-2

我正在使用 JSF2 和 Java 构建 Web 应用程序。我想构建一个如下图所示的表单:

alt text

当有人取消选中复选框时,表单应该消失: alt text

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 emptyrendered 检查属性。

            <h:selectBooleanCheckbox value="#{bean.showUserInfo}">

...

            <ui:fragment rendered="#{bean.showUserInfo}">

另见:

关于javascript - 使用 h :selectBooleanCheckbox 显示/隐藏另一个输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3698579/

相关文章:

javascript - 按顺序调用多个函数使用ng-click,单击并将相同的变量传递给多个函数

eclipse - eclipse 启动错误(WebDev + JBoss 工具 + Tomcat)

javascript - 在 javascript 中将 null 作为参数传递给 replace() 时表现怪异吗?

javascript - 如何计算编码字符串的长度?

jsf - Primefaces 使用 POJO 和 String 值自动完成

java - JSF 部署后立即开始类(class),而不是在 session 开始时开始

java - 如何更换战斧 <t :saveState> and <t:dataList> tags with standard JSF tags?

jsf - 为什么可以将@Inject 一个@Stateless EJB 到一个@SessionScoped Managed Bean 中?

javascript - 将数据传递给嵌入的元素

java - Applet 和 JSF 集成 - 示例