jsp代码:
<%
int i = 1;
%>
<s:iterator value="#request.listSelXZ"> <%=i%>: <s:property value="question" />
<br>
<input type="radio" name="<%= i%>" value="A" onclick="choose(this)" >
A:<s:property value="optionA" />
<br>
<input type="radio" name="<%= i%>" value="B" onclick="choose(this)" >
B:<s:property value="optionB" />
<br>
<input type="radio" name="<%= i%>" value="C" onclick="choose(this)" >
C:<s:property value="optionC" />
<br>
<input type="radio" name="<%= i%>" value="D" onclick="choose(this)" >
D:<s:property value="optionD" />
<br> <input type="hidden" name="rightAnswer" id="rightAnswer" value="<s:property value="answer"/>">
<%--正确答案 --%>
<%
i++;
%>
</s:iterator>
jquery代码:
<script type="text/javascript">
function choose(node) {
if(node.checked){
var th=node.name;
var stuAnswer=node.value;
$.post("stuAnswerXZ.action",
{ "th":th,/* 题号,不是题库中题目的id */
"stuAnswer":stuAnswer,/* 学生答案 */
"rightAnswer":$("#rightAnswer").val()/* 正确答案 */
});
}
}
</script>
<%
int i = 1;
%>
<s:iterator value="#request.listSelXZ"> <%=i%>: <s:property value="question" />
<br>
<input type="radio" name="<%= i%>" value="A" onclick="choose(this)" >
A:<s:property value="optionA" />
<br>
<input type="radio" name="<%= i%>" value="B" onclick="choose(this)" >
B:<s:property value="optionB" />
<br>
<input type="radio" name="<%= i%>" value="C" onclick="choose(this)" >
C:<s:property value="optionC" />
<br>
<input type="radio" name="<%= i%>" value="D" onclick="choose(this)" >
D:<s:property value="optionD" />
<br> <input type="hidden" name="rightAnswer" id="rightAnswer" value="<s:property value="answer"/>">
<%--正确答案 --%>
<%
i++;
%>
</s:iterator>
jquery代码:
<script type="text/javascript">
function choose(node) {
if(node.checked){
var th=node.name;
var stuAnswer=node.value;
$.post("stuAnswerXZ.action",
{ "th":th,/* 题号,不是题库中题目的id */
"stuAnswer":stuAnswer,/* 学生答案 */
"rightAnswer":$("#rightAnswer").val()/* 正确答案 */
});
}
}
</script>
解决方案 »
- 大牛知道用javascript/Jquery如何实现这功能吗?
- IE提示object expected错误
- 第一次显示时, 3.2 和 4.2 为什么显示加号,应该是减号才对啊? 书上例子
- 重新回到页面之后,JS如何保持初始默认的状态?(有难度)
- 从网页里把一个table里的数据拷到excel里,但是像02这样的数据变成了2,求解?
- 随机数的问题
- 弹出菜单问题
- 在线等待!!function()中的if语句不起作用!!进来看看,不胜感激!!
- easyui datagrid怎么把数据库两个表格的数据拼在一个表格上呢
- 求问JS 为什么调试单步运行成功而直接运行失败?或者加了个alert后就能直接运行成功
- js模拟namespace的实现
- node.js的安装和使用
你贴出来的代码与 iterator中getElementById没有关系吧?
我想获得每一题的隐藏的rightAnswer,然后传到后台,可是我在后台得到时,只能得到同一个rightAnswer,
比如说1,2,3,4题的选项分别是ABCD,可我在后台得到的是rightAnswer是4个A
不好意思啊,题目没有说清楚,我的意思是:iterator中每一个对应有隐藏的 answer
我想获得每一题的隐藏的rightAnswer,然后传到后台,可是我在后台得到时,只能得到同一个rightAnswer,
比如说1,2,3,4题的选项分别是ABCD,可我在后台得到的是rightAnswer是4个A
<input type="hidden" name="rightAnswer" id="rightAnswer" value="<s:property value="answer"/>">
这里面没有变量,你$("#rightAnswer").val()得到其实是其中固定的一个的值。
如果没有包 是同一级的话 貌似用 nextAll 方法获取 记不清了
我以为,value="<s:property value="answer"/>这里每道题的answer不同,应该就是变量,但是我又是这样写的name="rightAnswer" id="rightAnswer" 我对前台不太了解,有时就是自己想的,就不知道错在哪里了
<%
int i = 1;
%>
<s:iterator value="#request.listSelXZ"> <%=i%>: <s:property value="question" />
<br>
<input type="radio" name="<%= i%>" value="A" onclick="choose(this)" >
A:<s:property value="optionA" />
<br>
<input type="radio" name="<%= i%>" value="B" onclick="choose(this)" >
B:<s:property value="optionB" />
<br>
<input type="radio" name="<%= i%>" value="C" onclick="choose(this)" >
C:<s:property value="optionC" />
<br>
<input type="radio" name="<%= i%>" value="D" onclick="choose(this)" >
D:<s:property value="optionD" />
<br> <input type="hidden" name="rightAnswer" id="rightAnswer" value="<s:property value="answer"/>">
<%--正确答案 --%>
<%
i++;
%>
</s:iterator>
<%-- <input type="hidden" id="countXZ" value="<%=request.getAttribute("countXZ") %>>"> 选择题总数 --%>
<input type="submit" value="提交">
<%--注:暂时还没有写,只能提交一次,提交过之后,此按钮就不能再显示为可以提交了 --%>
</form>这就是我全部的代码了,我没有用div
我说的应该比较清楚了吧 就是通过Id 获取的对象 永远只有一个 。如果 有多个一样的ID 貌似只获取第一个。 你说需要的 就是要获取某个特定的。
function choose(node) {
if(node.checked){
var th=node.name;
var stuAnswer=node.value;
var value=$(node).nextAll("#rightAnswer").val();
$.post("stuAnswerXZ.action",
{ "th":th,/* 题号,不是题库中题目的id */
"stuAnswer":stuAnswer,/* 学生答案 */
"rightAnswer":value/* 正确答案 */
});
}
}
这样试试 没有调试 不知道对不对 不过思想肯定是对的。 就是获取到你点的那个radio 下面的 id为 rightAnswer的val。
其实我不提倡这样写。 我的习惯是 把一个循环都包到一个Div 里面去。 给这个div一个 空class 叫“mainDiv”
然后获取这个里面任何东西的社会 都是 var $mainDiv=$(this).parents('.mainDiv');
然后通过 $mainDiv.find('xxxxx') 来获取