日期:2014-05-17  浏览次数:20896 次

java 中迭代radio因为name相同后台如何取的radio的值
大致代码:
<s:iterator value="%{page.result}" id="resinfoweb" status="st">
......
<input name="radioname" type="radio" value="true" />通过
<input name="radioname" type="radio" value="false" />退回
......
</s:iterator>
根据page迭代后,会有n行信息;每行都有通过,退回。由于是迭代的所以所有的radio的名字都相同,现在所以的radio只能选中一个,但是需求是每行是一对radio;请问如何区分,后台如何取值?


------解决方案--------------------
你用的forEach 循环,,我记得forEach标签中,status有个count属性,是用来计数的,就是记录当前是迭代的第几条记录,你可以在input标签中增加一个ID属性 id属性的值就是count的值。然后在用document.getElementById("")获取你要的那个radio....。
------解决方案--------------------
探讨

我目前用表单取值,不怎么用url。如何区分这些radio是个问题因为name相同,我后台是根据name取到的值,还有就是因为name相同我所有的radio只能选择一个。我是想每行都可以选择一个。如果前面name安装你说的区分的话那后台没法写。先下班了,明天见。

------解决方案--------------------
JScript code
 var ip="";
  var rPort = document.getElementsByName("radioname");
  for(i=0;i<rPort.length;i++)
  {
       if(rPort[i].checked)
         ip=rPort[i].value;
  }