高手的来啊。。。。。。。。。
<c:forEach var="scoreQuestions" items="${scoreQuestionsCollection}">
<tr>
<td width="10%" bgcolor="#FFFFFF" align="left" class="font-bor" colspan="4">
${scoreQuestions.quesionName }(${scoreQuestions.notes}):
</td>
</tr>
<br/>
<c:forEach var="selectionMap"
items="${mapQuestionSelection[scoreQuestions.questionId]}">
<tr>
<td bgcolor="#FFFFFF">
<c:set var="${scoreQuestions.questionId }" value="memberCheck"/>
<c:if test="${scoreQuestions.questionType==1}">
<input type="radio" name="${scoreQuestions.questionId }" class='checkbox' id="memberCheck"
value="${selectionMap.selectionId}" onclick="openSub(this.name);"/>
</c:if>
${selectionMap.Notes}
</td>
</tr>
</c:forEach>
</c:forEach>
我想在js脚步获取radio的值再传到action,怎么获取啊?
这是我的js
function openSub(a){
var radioCollection=document.getElementsByName(a);
var count=radioCollection.length;
var answer="";
for(var i=0;i<count;i++){
if(radioCollection[i].checked){
answer=radioCollection[i].value+","+answer;
}
}
}
------解决方案--------------------不知道,楼主会不会JQuery,jQuery可以很轻易的获取界面的任意对象的属性,并可以提供异步交互,楼主可以尝试用JQuery
------解决方案--------------------可以通过document.getElementById(id).value获取到对象的值,
然后拼接到url上传递给action,或者直接submit也可以在action中获取到。
------解决方案--------------------FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("标签的name").toString()
------解决方案--------------------getElementById 应该是没问题的,LZ为什么否定?
getElementsByName 在IE6之下是有问题的,用不了
要不LZ试试 getElementsByTagname 吧
------解决方案--------------------
你用的forEach 循环,,我记得forEach标签中,有个count属性,数用来计数的,就是记录当前是迭代的第几条记录,你可以在input标签中增加一个ID属性 id属性的值就是count的值。然后在用document.getElementById("")获取你要的那个radio.....接下来就是传给action了
或者是用你自己的方法,document.getElementsByName(a);如果你能确保你的name唯一的话也可以。但是要修改下,document.getElementsByName(a)[0]; 最后中括号是0还是1我忘了你自己试试。这表示直接取结果集中的第一个值。