Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 - Fatal编程技术网

Javascript 从具有单选按钮的多个表单中获取唯一值-jQuery

Javascript 从具有单选按钮的多个表单中获取唯一值-jQuery,javascript,jquery,Javascript,Jquery,我正在为求职面试创建一个琐事游戏,到目前为止,我已经创建了一个循环,用单选按钮填充表单 我遇到的问题是记分器。我只需要计算正确的回答,最好是在每个表单上单击。现在,当我选择一个答案,然后单击它添加到分数的任何其他答案时,因为至少选择了一个正确答案 HTML 问题: 答复 错 问题: 答复 错 jQuery (j=0;j提示的 确保所有元素都有唯一的ID 用标签包裹单选按钮,这样更容易、更干净 通过在div级别而不是每个单选按钮分配事件处理程序,使用事件委派 您可能可以使用单个表单元素

我正在为求职面试创建一个琐事游戏,到目前为止,我已经创建了一个循环,用单选按钮填充表单

我遇到的问题是记分器。我只需要计算正确的回答,最好是在每个表单上单击。现在,当我选择一个答案,然后单击它添加到分数的任何其他答案时,因为至少选择了一个正确答案

HTML

问题:
答复
错
问题:
答复
错
jQuery (j=0;j提示的

  • 确保所有元素都有唯一的ID
  • 用标签包裹单选按钮,这样更容易、更干净
  • 通过在div级别而不是每个单选按钮分配事件处理程序,使用事件委派
  • 您可能可以使用单个表单元素
$(“#琐事”)。在('click',e=>{
设div=$(“#琐事”);
让rbs=div.find('input[type=“radio”][value=“correct”]”);
设rbsChecked=0;
美元(rbs)。每个((i,e)=>{
如果(e.checked)
rbsChecked++;
});
$(“#分数”).text(rbsChecked+”/“+rbs.length);
});

问题:
答复
错
问题:
答复
错
<div id="trivia">
    <form class='card0'>
       <text>Question</text>
       <input type="radio" id="Answer" value="correct" name="question0">
       <label for="Answer">Answer</label>
       <input type="radio" id="Wrong" value="incorrect" name="question0">
       <label for="Answer">Wrong</label>
    </form>
    <form class='card1'>
       <text>Question</text>
       <input type="radio" id="Answer" value="correct" name="question1">
       <label for="Answer">Answer</label>
       <input type="radio" id="Wrong" value="incorrect" name="question1">
       <label for="Answer">Wrong</label>
    </form>
</div>
 for(j=0;j<21;j++){
        var score = 0;
        $('.card' + j + ' input').on('click', function(e){
            e.preventDefault();
            var radioVal = $('input[value=correct]').val();
            if(radioVal){
                score+=1
                console.log(score)
            }
        })
    }