如何在Struts 2中制作互斥复选框?

问题描述 投票:0回答:1

我有一个变量

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>
jquery jsp struts2 ognl struts-tags
1个回答
0
投票

我不知道你的地图中有哪些元素,但在纯 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}">
© www.soinside.com 2019 - 2024. All rights reserved.