如何在jsp页面里获取动态生成的不同名称的radio的值?
大家好~我有个问题要求助~
我在做一个在线评分系统,在生成评分表的页面中用c标签输出了一组带有radio的分值,
代码和截图如下:
然后${index}是一个包含多个IndexVoValue对象的list;
IndexVoValue的部分定义如下:
public class IndexVoValue
{
private String qid;
private String question;
private String eid;
private List indexoption;
}
由于每一组的radio值都不一样,所以不能用js的document.getElementsByName("name")。。所以还能用什么办法呢?求助各位大神,拜谢~!
通过遍历tr获取每行里面的radio,你每行的radio的name不都是一样的
function getRadioKV() {
var tb = document.getElementById('你的table的id'), s = '', ipts, sel;
for (var i = 0; i < tb.rows.length; i++) {
ipts = tb.rows[i].getElementsByTagName('input');
if (ipts.length == 0) continue; //表头或者没有选项的行退出
sel = false;
for (var j = 0; j < ipts.length; j++) {
if (ipts[j].checked) {
s += '&' + ipts[j].name + '=' + ipts[j].value;
sel = true;
break;
}
}
if (!sel) { //这行没有选中radio提示
alert(tb.rows[i].cells[1].innerHTML + '没有选择!');
ipts[0].focus();
}
}
return s.substring(1);
}
var s = getRadioKV();
alert(s)
你最好给他们都定义一个id,这样根据id直接就能找到,否则,只能找到这一类元素,然后再判断其它特征去确定
动态id除非你能知道他的规律,否则不能确定。
jsp里面的代码怎么不显示了。。重新粘一次,是这样的:
${index.qid}
${index.question}
${option.content}  
${value.value}分   
/c:forEach
/c:forEach
/c:forEach
一般获取一组数是用数组加下标来命名的如
<input type="radio" name="list[0].id" />
<input type="radio" name="list[1].id" />
看了一下,自己的理解是,选中其中一个input提交数据,但是你却无法指定某一个,我理解的对么?
我看你并没有设置id呀,我觉得还是选中编号比较好,你可以拿每条数据的编号作为id,id = “XXX”
看看行不行,