javascript - 如何根据 bool 变量隐藏元素?

标签 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 显示元素时遇到了困难。如果 bool 值 asd 为 false,我想显示输入 #nottaken;如果 asd 为 true,则显示

#taken。

最佳答案

由于您在 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>

关于javascript - 如何根据 bool 变量隐藏元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27936267/

相关文章:

javascript - 如何将jsp变量作为参数传递给javascript方法

mysql - 我的 web 应用程序仍然插入 ""和空值,我该如何解决这个问题?

javascript - 显示正在加载处理器的异常行为

java - 将java循环转换为JSTL <c :forEach>

jsp - 如何实现一个 "include"的jsp标签?

javascript - 如何使用 angularJs 打印数字表?

java - 单击“注销”按钮并重定向到带有消息的登录页面时禁用 session

javascript - 如何让 mouseup 在任何地方都能触发?

javascript - 如何使用 f :form. select 和 onclick:

javascript - 通过 Ajax 的图像数据 - 如何在页面上显示图像