javascript - 如何使用 jquery 或 php 根据先前选择的响应保持单选按钮的选择?

标签 javascript php jquery html ajax

我正在创建一个在线测验系统,我在 quiz.html 上使用 ajax 来回答问题以及来自 getquestion.php 的选项,我添加了下一步和quiz.html 上的上一个按钮,当用户选择一个答案并点击下一个时,它会转到第二个问题,但是当用户点击上一个按钮时,我想显示用户在点击下一个按钮之前选择的先前选择的选项。我尝试过,但代码无法正常工作,请帮助我,我是新手。

quiz.html

<div id='questionArea' style="position:absolute;top:30%;left:1%;"></div>
<button id='next' type="submit" style="position:absolute;top:50%;left:1%;padding:5px;width:80px;background-color:silver;border:1px solid grey;color:white;border-radius:20%;cursor:pointer;">Next</button><button id='prev' type="submit" style='display: none;position:absolute;top:50%;left:10%;padding:5px;width:80px;background-color:silver;border:1px solid grey;color:white;border-radius:20%;cursor:pointer;'>Previous</button>

<script>
$(document).ready(function() {
var number = 0;
 $.post('getquestion.php', {number: number}, function(result){

        $('#questionArea').html(result);
    });

$('#next').click(function() {
number = number + 1;

    if (number => 1){
$('#prev').css('display','block');
}

    $.post('getquestion.php', {number: number}, function(result){

        $('#questionArea').html(result);
    });

});

$('#prev').click(function() {
number = number - 1;
    if (number < 1){
$('#prev').css('display','none');
}

    $.post('getquestion.php', {number: number}, function(result){

        $('#questionArea').html(result);
    }); 
});
});

getquetion.php

                if(isset($_POST['number'])){
            $number = $_POST['number'];
            }
            $sql="SELECT * FROM `questions`";
            $result=mysqli_query($conn,$sql);
            $qid = array();
            $question = array();
            $chA = array();
            $chB = array();
            $chC = array();
            $chD = array();
            while ($row = mysqli_fetch_assoc($result)) {
            $qid[] = $row['question_id'];
            $question[] = $row['question'];
            $chA[] = $row['ansa'];
            $chB[] = $row['ansb'];
            $chC[] = $row['ansc'];
            $chD[] = $row['ansd'];
            $correct = $row['correct_ans'];
            }



            echo "<div id='question'>".$qid[$number].")"." ". $question[$number] . "</div>";
            echo "<input id='a' type='radio' name='a' value='" . $chA[$number] ."'> " . $chA[$number] . "<br>";
            echo "<input id='b' type='radio' name='a' value='" . $chB[$number] ."'> " . $chB[$number] . "<br>";
            echo "<input id='c' type='radio' name='a' value='" . $chC[$number] ."'> " . $chC[$number] . "<br>";
            echo "<input id='d' type='radio' name='a' value='" . $chD[$number] ."'> " . $chD[$number] . "<br>";




            ?>
            <!doctype html>
            <html>
            <head></head>
            <body>
            <script>
            var value;

            $("#a").click(function(){
                value = $(this).val();


            });
            $("#b").click(function(){
                value = $(this).val();

            });
            $("#c").click(function(){
                value = $(this).val();


            });
            $("#d").click(function(){
                value = $(this).val();


            });

            $('#prev').click(function(){
                if(value == "something that user selects before"){
                    $('#').prop("checked",true);
                }else{
                    $('#').prop("checked",false);
                }
            });
            </script>

最佳答案

您可以在 session 中存储该问题的答案,例如

$_SESSION["Q3"] = 3;

然后检查 session 是否已设置,如果是,则执行此操作

echo "<input id='d' type='radio' name='a' value='" . $chD[$number] ."'> " . $chD[$number] . "<br>";

进入

echo "<input CHECKED id='d' type='radio' name='a' value='" . $chD[$number] ."'> " . $chD[$number] . "<br>";

这个。

关于javascript - 如何使用 jquery 或 php 根据先前选择的响应保持单选按钮的选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46785221/

相关文章:

javascript - 通过javascript循环上传多个 Canvas 图像

javascript - 如何获取浏览器提示中的输入值

javascript - 如何在jquery中获取选中复选框的值并将其分配给json数组?

javascript - 将生成的 Canvas 图像发送到网站服务器?

java - GWT 远程日志记录无法记录 Throwable Stacktrace?

javascript - 在 WordPress 中使用 php 为移动设备加载单独的 header 是不好的做法吗?

javascript - JS 和 CSS 居中幻灯片图像

javascript - 在命名空间中没有静态函数的情况下迭代枚举

Javascript removeChild 无法按预期工作

PHP - 单击按钮时使用 for 循环将 Form Div 递增 1