Javascript 如何使用jquery检查表单中多个动态单选按钮的值
我正在尝试做一个测验系统。我创建了动态单选按钮。现在我想检查所选单选按钮的值。我该怎么做Javascript 如何使用jquery检查表单中多个动态单选按钮的值,javascript,jquery,radio-button,Javascript,Jquery,Radio Button,我正在尝试做一个测验系统。我创建了动态单选按钮。现在我想检查所选单选按钮的值。我该怎么做 function createquestionpaper(qlist) { var questionform = $('#quesform'); var quesNum = 1; $.each(qlist, function (index, val) { var questionstring = '<div class=
function createquestionpaper(qlist)
{
var questionform = $('#quesform');
var quesNum = 1;
$.each(qlist, function (index, val) {
var questionstring = '<div class="form-group" ><label class="control-label" id="'+val.Question_ID+'">'+quesNum+'. '+val.Question1+'</label>'+
'<div class="radio"><input type="radio" name="'+val.Question_ID+'" value="1">'+val.Option1+'</div>' +
'<div class="radio"><input type="radio" name="' + val.Question_ID + '" value="2">' + val.Option2 + '</div>' +
'<div class="radio"><input type="radio" name="' + val.Question_ID + '" value="3">' + val.Option3 + '</div>' +
'<div class="radio"><input type="radio" name="' + val.Question_ID + '" value="4">' + val.Option4 + '</div>' +
'</div><hr>';
questionform.append(questionstring);
quesNum = quesNum + 1;
});
函数createquestionpaper(qlist)
{
变量questionform=$(“#quesform”);
var quesNum=1;
$.each(qlist,function(index,val){
变量questionstring=''+quesNum+'.+val.Question1+''+
''+val.Option1+''选项+
''+val.Option2+''选项+
“+val.Option3+”+
''+val.Option4+''选项+
“
”;
questionform.append(questionstring);
quesNum=quesNum+1;
});
您可以使用jquery选择器找出所选的一个并检索其值:
$('input[name=yourQuestionID]:checked').val()
您可以使用jquery选择器确定选择了哪一个并检索其值:
$('input[name=yourQuestionID]:checked').val()
您可以迭代
$('input[type=radio]:checked')
$('#完成')。在('click',function()上{
$('input[type=radio]:选中')。每个(函数(){
console.log('Question:',this.name,'Answer:',this.value)
});
});
输入[类型=收音机]{
显示:内联块;
}
问题1
1.
2.
3.
4.
问题2
1.
2.
3.
4.
问题3
1.
2.
3.
4.
完成
您可以在$('input[type=radio]:checked')上迭代
$('#完成')。在('click',function()上{
$('input[type=radio]:选中')。每个(函数(){
console.log('Question:',this.name,'Answer:',this.value)
});
});
输入[类型=收音机]{
显示:内联块;
}
问题1
1.
2.
3.
4.
问题2
1.
2.
3.
4.
问题3
1.
2.
3.
4.
完成
,因为其他答案没有提到同时检查所有值的解决方案:
// right answers
var solutions = [1,3,1,1,2,3,4];
// all answers from all questions (get all checked radio-inputs, then get all values)
var valuesForAllQuestions = $('.form-group', '#quesform').find('input:radio:checked').map(function() {return $(this).val()}).get();
// map them to points (1=correct answer, 0=false), then reduce it to a sum
var correct = valuesForAllQuestions.map((answer, idx)=>(answer==solutions[idx]?1:0)).reduce((sum, actual)=>sum+actual,0);
因为其他答案没有提到同时检查所有值的解决方案:
// right answers
var solutions = [1,3,1,1,2,3,4];
// all answers from all questions (get all checked radio-inputs, then get all values)
var valuesForAllQuestions = $('.form-group', '#quesform').find('input:radio:checked').map(function() {return $(this).val()}).get();
// map them to points (1=correct answer, 0=false), then reduce it to a sum
var correct = valuesForAllQuestions.map((answer, idx)=>(answer==solutions[idx]?1:0)).reduce((sum, actual)=>sum+actual,0);
所以我需要创建QuestionID数组,然后在该数组中循环检查值?如果需要所有选定的输入:
$('.form group')。查找('input:radio:checked')
,所以我需要创建QuestionID数组,然后在该数组中循环检查值?如果需要所有选定的输入:$('.form group')。查找('input:radio:checked')