Javascript 检查是否选中了任何单选按钮,然后执行代码(多组按钮)
我做了一个选择题测试,使用PHP解析问题和答案的XML。生成的HTML如下所示:Javascript 检查是否选中了任何单选按钮,然后执行代码(多组按钮),javascript,jquery,forms,radio-button,Javascript,Jquery,Forms,Radio Button,我做了一个选择题测试,使用PHP解析问题和答案的XML。生成的HTML如下所示: <form> <div id="category0"> <div id="set0"> <div class="question">What is 6 x 6?</div> <input type="radio" name="0" value="3">3<br> <inp
<form>
<div id="category0">
<div id="set0">
<div class="question">What is 6 x 6?</div>
<input type="radio" name="0" value="3">3<br>
<input type="radio" name="0" value="30">30<br>
<input type="radio" name="0" value="36">36<br>
<input type="hidden" class="answer" value="36">
</div>
<div id="set1">
<div class="question">What is 2 x 6?</div>
<input type="radio" name="1" value="4">4<br>
<input type="radio" name="1" value="12">12<br>
<input type="radio" name="1" value="36">43<br>
<input type="hidden" class="answer" value="12">
</div>
<!-- A LOT MORE QUESTIONS -->
</div>
<div id="category1">
<div id="set2">
<div class="question">Which of these tools would you use to hammer a nail?</div>
<input type="radio" name="2" value="A hammer">A hammer<br>
<input type="radio" name="2" value="Another nail">Another nail<br>
<input type="radio" name="2" value="A saw">A saw<br>
<input type="hidden" class="answer" value="A hammer">
</div>
<div id="set3">
<div class="question">What color is a red truck?</div>
<input type="radio" name="3" value="red">red<br>
<input type="radio" name="3" value="blue">blue<br>
<input type="radio" name="3" value="green">green<br>
<input type="hidden" class="answer" value="red">
</div>
<!-- A LOT MORE QUESTIONS -->
</div>
<!-- MORE CATEGORIES WITH A LOT OF QUESTIONS-->
</form>
什么是6x6?
3
30
36
什么是2x6?
4
12
43
你会用这些工具中的哪一种来钉钉子?
锤子
另一颗指甲
锯
红色的卡车是什么颜色的?
红色
蓝色
绿色
类别命名为“类别”+一个从0开始的数字(类别0,类别1…)
答案存储在隐藏字段中,与正确的选项值完全相同
我创建了一个JS函数,用于检查所选答案是否正确,并根据设置div的背景颜色。该功能在单击每个收音机输入时触发
我需要帮助为所有问题和每个类别分别创建答案的统计/分数。
开始时,所有可能答案的分数都是0。
如果我点击第一个问题的正确选择,分数将是所有可能问题中的一个,以及第一类问题中的一个
我希望在不发布表单(无发布/获取)的情况下(单击任何按钮)实现此实时操作
希望我描述了我的问题,以便您能理解它,如果需要任何澄清,请让我知道。
到目前为止,我只使用JS,但也欢迎使用jQuery中的任何解决方案 单击单选按钮时,执行与确定答案是否正确相同的逻辑,但要为每个“类别”调用它,而不仅仅是单击的类别
从0开始一个变量,并在每次找到正确答案时将其递增1。然后,在循环之后,可以使用变量的值更新“正确答案”消息。这不需要任何回发。您可以这样做
$('input[type=“radio”])。更改(函数(){
var answer=$(this.sibbines('.answer').val();
if($(this).val()==答案){
var score=$(this.parents().sibbines('.score').val();
分数++;
$(this).parents().sibbines('.score').val(score)
控制台日志(score);
}否则{
}
});代码>
什么是6x6?
3
30
36
什么是2x6?
4
12
43
你会用这些工具中的哪一种来钉钉子?
锤子
另一颗指甲
锯
红色的卡车是什么颜色的?
红色
蓝色
绿色
您忘记发布您尝试的JavaScript。如果没有它,这个问题是相当广泛的,看起来你是在要求我们为你编码整个解决方案。谢谢,这很有帮助!我在寻找太复杂的解决方案。如果我再次陷入困境,你会发布我的解决方案或寻求帮助。没问题——如果你没有任何控制措施来确保每个问题都得到回答,你可以添加他们留有多少空白。