ajax - 使用 AJAX 显示/隐藏 JSF 元素后如何隐藏触发元素?

标签 ajax jsf-2 rendering

我按照 BalusC 在[此答案][1]中给出的说明进行操作

[1]:JSF and f:ajax for hiding/showing div它起作用了。但我想在按下命令按钮并显示 id="in CorrectQuestion"的元素时隐藏该元素。我几乎像例子中那样做了。我尝试了很多组合,但无法隐藏命令按钮。

            <h:panelGroup rendered="#{not answerResultBean.showIncorrectQuestions}">
                <div id="loginDiv" style="width: 400px; text-align: left;">
                    <center>
                        <f:ajax render="incorrectQuestions">
                            <br />
                            <h:commandButton value="#{strings.failedQuestions}"
                                action="#{answerResultBean.setShowIncorrectQuestions(true)}" />
                            <br />
                            <br />
                        </f:ajax>
                    </center>
                </div>
            </h:panelGroup>
            <h:panelGroup id="incorrectQuestions">
                <h:panelGroup rendered="#{answerResultBean.showIncorrectQuestions}">
                    <div id="loginDiv" style="width: 400px; text-align: left;">
            ...

最佳答案

只需输入 <h:panelGroup>包含里面的按钮 <h:panelGroup id="incorrectQuestions">以及。这样它也将根据 ajax 请求和 rendered 进行更新。条件会导致它被隐藏。

顺便说一下,尽量保持代码干燥。你有相当多的代码重复。

<h:panelGroup layout="block" id="loginDiv" style="width: 400px; text-align: left;">
    <h:commandButton value="#{strings.failedQuestions}"
        action="#{answerResultBean.setShowIncorrectQuestions(true)}"
        style="text-align: center; margin: 10px;"
        rendered="#{not answerResultBean.showIncorrectQuestions}">
        <f:ajax render="loginDiv">
    </h:commandButton>
    <h:panelGroup rendered="#{answerResultBean.showIncorrectQuestions}">
        ...
    </h:panelGroup>
</h:panelGroup>

请注意 <h:panelGroup layout="block">生成 <div> 。这样就不需要 <h:panelGroup><div> .

关于ajax - 使用 AJAX 显示/隐藏 JSF 元素后如何隐藏触发元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16468882/

相关文章:

javascript - 从 html 文件中引用 javascript 数组

java - 如何保护 XHTML 文件不被编辑

java - 在 Eclipse Indigo 中注释声明托管 bean 和代码完成

graphics - 仅使用正交渲染模拟 3D 'cards'

php - Jquery 向 PHP 发送键/值对数组

.net - AjaxExtensions 和 .NET 4 Framework

jquery - 使用 jQuery animate CSS opacity fade 和 @font-face 给 Internet Explorer 带来非常难看的字体渲染?

css - Mobile Safari 呈现奇怪,在错误的地方添加额外的边距

javascript - 使用 jQuery FormData.append 将值附加到 $_POST 数组

jsf - 在 JAR 中打包 Facelets 文件(模板、包含、组合)