Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery检查表单中多个动态单选按钮的值_Javascript_Jquery_Radio Button - Fatal编程技术网

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')