我有这个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/