如何根据布尔变量隐藏元素?

时间:2015-01-14 05:15:36

标签: javascript jsp

我有这个jsp:

 <table>

                            <% ArrayList<Something> monAM = (ArrayList<Something>) request.getAttribute("monAM");
                               Time t = new Time();

                            for (Prescription p : monAM) {
                                boolean asd= t.lastTaken(p.getDay(), p.getDateLastTaken());

                            %>
                            <tr>

                            <input type="hidden" value="<%=asd%>" name="display"/>
                                <td >
                                    <div >
                                    <input id="nottaken"type="checkbox" name="drinkmed" value="<%=p.getPrescriptionID()%>"
                                           />
                                    <p id="taken" >Taken</p>
                                    </div>
                                </td>

                            </tr>
                            <%}%>

                        </table>

Javascript代码:

<script>
        var asd = document.getElementById("display").value;
       $(document).ready(function() {

            if(asd==="true"){
                document.getElementById("taken").style.display="block";
                document.getElementById("nottaken").style.display="none";
            }else{
                document.getElementById("nottaken").style.display="block";
                document.getElementById("taken").style.display="none";
            }

        });

    </script>

java代码和方法工作正常,但是我很难用javascript显示元素。如果布尔值asd为false,我想显示输入#nottaken,当asd为true时,我想显示

#taken。

1 个答案:

答案 0 :(得分:1)

由于您在document.ready之前检查隐藏字段的值,因此在document.ready之前可以读取元素的值。检查document.ready中隐藏字段的值。你也应该包括Jquery文件。试试这个

<script>

   $(document).ready(function() {
        var asd = document.getElementById("display").value;
        if(asd==="true"){
            document.getElementById("taken").style.display="block";
            document.getElementById("nottaken").style.display="none";
        }else{
            document.getElementById("nottaken").style.display="block";
            document.getElementById("taken").style.display="none";
        }

    });

</script>