我想動態獲取這個遍歷生成的radio中已選定的值,但是最后只能獲取到一個
<c:forEach items="${requestScope.list }" var="list" varStatus="status">
<ol >
<li >${status.index+1}.${list.question }</li>
<li data-answer="${list.qanswer }${status.index+1}" class="lileft" name="que${status.index+1}" id="A${status.index+1}">
<lable><input type="radio" value="https://bbs.csdn.net/topics/A${status.index+1}" name="radioq" style="display:none">A. ${list.qa }</lable></li>
<li data-answer="${list.qanswer }${status.index+1}" class="lileft" name="que${status.index+1}" id="B${status.index+1}">
<lable><input type="radio" value="https://bbs.csdn.net/topics/B${status.index+1}" name="radioq" style="display:none">B. ${list.qb }</lable></li>
<li data-answer="${list.qanswer }${status.index+1}" class="lileft" name="que${status.index+1}" id="C${status.index+1}">
<lable><input type="radio" value="https://bbs.csdn.net/topics/C${status.index+1}" name="radioq" style="display:none">C. ${list.qc }</lable></li>
<li data-answer="${list.qanswer }${status.index+1}" class="lileft" name="que${status.index+1}" id="D${status.index+1}">
<lable><input type="radio" value="https://bbs.csdn.net/topics/D${status.index+1}" name="radioq" style="display:none">D. ${list.qd }</lable></li>
</ol>
<hr>
</c:forEach>這是jquery 點擊li之后 判斷 把li子級元素的radio改為 checked
$(".lileft").click(function(){
//$(this).css("font-weight","bolder");
var l = $(this).attr("name");
var lid = $(this).attr("id");
if($(this).hasClass("green")){
$(this).removeClass("green");
$("#"+l+"").removeClass("childiv");
$(this).find('input[type="radio"]').attr("checked",false);
}else{
$("#"+l+"").addClass("childiv");
$(this).addClass("green").siblings().removeClass("green");
$(".lileft").find('input[id="radio"]').attr("checked", "checked");
}
這是獲取已選擇的radio陣列 ;
$("#submit").click(function(){
var sum = 0;
var array1 = [];
var array2 = [];
$("ol").each(function(){
array1.push($(this).children().eq(1).data("answer"));
});
$('input[name="radioq"]:checked').each(function(){
array2.push($('input[name="radioq"]:checked').val());
});
for(var i=0;i<array1.length;i++){
if(array1[i]==array2[i]){
sum+=2;
}
}
alert(sum+"分");
alert(array1.length);
alert(array2.length);//這是獲取的已選定的radio的陣列長度=_=!只能獲取一個
})
uj5u.com熱心網友回復:
14行那個input[id="radioq"]應該是name="radioq"轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/183527.html
標籤:JavaScript
