javascript - 单选按钮的不同值(如果选择或未选择)

标签 javascript php jquery radio-button

我正在开发一个在线考试网站。

当我想用选项来定义问题时,我应该选择正确的选项。所以每个选项前面都有一个单选按钮,如果我选择它,它将是正确的选择。

我希望当我选择其中一个单选按钮时,它的值将为“1”,如果没有,该值将为“0”,因此我可以使用 foreach 将它们保存在数据库中。这是我的问题。

由于选项数量不清楚(从2个到更多)并且可以动态添加,因此我无法为它们设置具体值。

我使用了 isset 和 foreach 但我想我没有以正确的方式使用它们。 我认为这可以通过 javascript 或 jquery 完成,但我不知道如何实现。

choice 1:
<textarea class="form-control" name="choice[]" placeholder="choice text"></textarea>
<label><input type="radio" name="correct[]">Correct</label>

choice 2:
<textarea class="form-control" name="choice[]" placeholder="choice text"></textarea>
<label><input type="radio" name="correct[]">Correct</label>

Other Choices ...



<?php
foreach ( $_POST['choice'] as $key => $value ){
if (!empty($value)){
    foreach ($_POST['correct'] as $value2){ 
    if (isset($value2)) $choice_answer = '1'; else $choice_answer = '0';}

mysqli_query($server,"INSERT INTO question_choices (question_id,exam_id,choice,answer) VALUES ('$question_id','$current_exam_id','$value','$choice_answer')");}}
?>

最佳答案

所以你可以将你的选择存储在一个数组中,这很好。但是,您也可以将正确的指标存储在数组中。您不需要将它放在数组中,因为只有一个正确的选择。

因此,将您的 Correct[] 更改为 Correct 并为每个选择递增设置该值。

例如:

choice 1:
<textarea class="form-control" name="choice[]" placeholder="choice text"></textarea>
<label><input type="radio" name="correct" value=0>Correct</label>

choice 2:
<textarea class="form-control" name="choice[]" placeholder="choice text"></textarea>
<label><input type="radio" name="correct" value=1>Correct</label>

choice 3:
<textarea class="form-control" name="choice[]" placeholder="choice text"></textarea>
<label><input type="radio" name="correct" value=2>Correct</label>

由于仅发布选定的单选按钮,因此 $_POST[' Correct'] 将在 $_POST['choice'] 数组中包含正确答案的索引.

然后,您可以在发送到数据库之前执行类似的操作来相应地设置您的值:

foreach ($_POST['choice'] as $i => $choice) {
    if (!empty($choice)) {

        if($_POST['correct'] == $i){
            $choice_answer = 1;
        } else {
            $choice_answer = 0;
        }

        mysqli_query($server, "INSERT INTO question_choices (question_id,exam_id,choice,answer) VALUES ('$question_id','$current_exam_id','$value','$choice_answer')");
    }
}

关于javascript - 单选按钮的不同值(如果选择或未选择),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41653211/

相关文章:

php - Symfony 4 : DependencyInjection Component - Uncaught ReflectionException: Class does not exist

php - 在数据库中输入主键时出错

javascript - 绑定(bind)和取消绑定(bind)函数

javascript - JavaScript 在浏览器控制台上运行,但在我放入开发人员控制台时却不行

javascript - 单击幻灯片时切换多个隐藏的 div

javascript - JS模板方法模式中 `this`的含义

javascript - 如何在 Canvas 中移动对象时设置onclick事件?

php - cakephp 将数据库字段中的输入数据匹配到文本框

javascript - 当元素被 javascript 插入时,css 被忽略

javascript - 为什么在我的图像中移动时需要单击两次才能转到适当的方向?