当其他选择的值发生变化时,如何更新选择?

时间:2017-04-30 14:30:38

标签: jsf

所以我的程序应该从Java Beans文件接收输入,然后将该数据输出到现有的Select框,但只有当选择的其他选择框值发生变化时才会输出。我怎样才能做到这一点?这是我现有的代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core">

<h:head>
    <title>Dropdown List</title>
</h:head>
<body>
    <select id="mySelect" onchange="myFunction()">
        <h:outputText value="#{helloWorld.getResultSet1()}" escape="false" />
        <f:attribute name="action" value="1" />
    </select>
    <br />

    <h:form id="formId">
        <h:inputHidden id="x" value="#{helloWorld.text}" />
        <h:commandButton id="y" value="read" action="#{helloWorld.submit()}">
            <f:ajax execute="@form" />
        </h:commandButton>
    </h:form>
    <div id="i">
        <select id="mySelect1">

        </select>
    </div>
    <p id="u"></p>

    <script>
        var x1 = document.getElementById("mySelect1");
        x1.style.display = 'none';
        document.getElementById("formId:y").style.display = 'none';

        function myFunction() {

            var x = document.getElementById('mySelect').value;
            document.getElementById("formId:x").value = x;
            document.getElementById("formId:y").click();

            var t = "#{helloWorld.getResultSet2()}";
            document.getElementById("u").innerHTML = t;
            x1.style.display = 'block';



        }
    </script>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

不,你不能轻易使用你提供的代码......这是 JSF是什么以及如何使用JSF。开始使用一个真正好的JSF教程...