我有一个变量
paramMap
,类型是HashMap<String, String>
,它有两个元素:
{"1", "areaNo"}
{"2", "areaOrgNo"}
Struts 2的复选框代码如下:
<s:iterator value="paramMap" var="params" status="paramStatus">
<input type="checkbox" name="params" key_id="#paramStatus.index" value="<s:property value="#param.key"/>"
<s:if test="#paramStatus.index=0">
onclick=checkAreaNo()
</s:if>
我想要的逻辑是,当我选中
areaNo
时,areaOrgNo
将被取消选中,我应该如何在checkAreaNo()
内编写函数<script></script>
?我已经写了如下checkAreaNo()
,但是不起作用:
<script>
function checkAreaNo() {
if ( $(input[key_id='1']).prop("checked") ) {
$(input[key_id='1']).prop("checked", false)
}
}
</script>
我不知道你的地图中有哪些元素,但在纯 HTML 元素中是 DOM,你不能对它们使用 OGNL 语法。有关详细信息,请参阅this答案。
所以,正如我在评论答案中所说的那样,将 OGNL 用于纯 html 标签,您应该使用
<s:property>
标签 或 JSP EL。
<input type="checkbox" name="params" key_id="<s:property value='#paramStatus.index'/>" value="<s:property value='#params.key'/>" label="<s:property value='#params.value'/>">
或
<input type="checkbox" name="params" key_id="${paramStatus.index}" value="${params.key}" label="${params.value}">