我试图找到一种方法让document.getElementById(“1”)。innerHTML基于来自jsp代码的条件被触发。
例如,我在jsp页面上有以下jsp代码,
<table border="1">
<c:forEach items="${elements}" var="element">
<tr>
<td>${element.elementNumber}<br /> ${element.isReserved}
</td>
</tr>
</c:forEach>
</table>
基于“element.isReserved”,我需要在html中更改一个元素(假设使用.innerHTML)。 html中的元素如下所示。我有几个这样的元素。
<div class="col-xs-2">
<div class="o-btn">
<a id="1" onClick="myFunction(this);">1</a>
</div>
<div class="clearfix"></div>
</div>
如上所示,它显示为值为“1”的按钮。我想根据条件将值更改为“X”。我可以直接用js,
来做<script>
function myFunction(elmnt) {}
function isReserved() {
return 'X';
}
document.getElementById("1").innerHTML = isReserved();
</script>
但我需要使它依赖于spring的输出或上面显示的jsp代码。我想要的输出是当element.isReserved()(在jsp代码中)评估为true时,按钮上显示的“1”将变为“X”。由于我有几个按钮元素,如果element.isReserved()的计算结果为true,我需要检查每个按钮。
答案 0 :(得分:1)
我能够让它发挥作用。我发现这个article非常有帮助。
在理解(并接受现实)JSP如何使用html之后,我不得不稍微重构我的程序。
从spring mvc,我将我的变量添加到模型中,
model.addAttribute("element1", 1);
在jsp页面上,我用javascript,
检查了变量if("${element1}" == 1) {
document.getElementById("1").innerHTML = 'X';
document.getElementById("1").style.color = 'red';
}
可能有更好的解决方案,但对于像我这样的新手来说,效果很好!
上面提到的article对于新来者来说确实是一个很好的重要的读物。