1

私のメインページ

<html>
<head>
<!--<link href="css/style.css" type="text/css" rel="stylesheet"> -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script> 
<script src="jquery/myscript.js"></script>

</head>
<body>
<?php 

$dbconnect=mysqli_connect('localhost','root','','quiz')or die("Error Connecting to database");
$query="select * from question_answer ";
$result=mysqli_query($dbconnect,$query);
?>

<form method="get" action="">
<div id="container">    
            <?php       
                while($rows=mysqli_fetch_array($result))
                {
                    echo '<div class="QA">';
                        echo '<h1>'.$rows['question'].'</h1>'.'<br/>';
                        echo '<input type="radio" class="check" name="'.$rows['id'].'" value="A">'.$rows['option1'].'</input>';
                        echo '<input type="radio" class="check" name="'.$rows['id'].'" value="B">'.$rows['option2'].'</input>';
                        echo '<input type="radio" class="check" name="'.$rows['id'].'" value="C">'.$rows['option3'].'</input>';
                        echo '<input type="radio" class="check" name="'.$rows['id'].'" value="D">'.$rows['option4'].'</input>';
                        echo '<br/>';
                        echo '<div class="report"></div>';
                    echo'</div>';
                }  
             ?>



</div>
</form>
</body>
</html>

これは私のスクリプトで、phpから受け取ったデータが機能していることを警告するときにajaxが値を渡し、phpがデータを返しますが、その後の次の行では、結果を表示するjqueryがあり、slideUPが機能していません

$(document).ready(function(){

        var clickedvalue,qid;
        $("input:radio").change(function(){
            clickedvalue=$(this).val();
            qid=$(this).attr('name');


            $.get('checkanswer.php',{'clickedvalue':clickedvalue,'qid':qid},function(data){

                $(this).parent("div.QA").find(".report").html(data);
                $(this).slideUp();
            }); 
        });
    });

これはphpファイルです

<?php

$questionid=$_GET['qid'];
$answer=$_GET['clickedvalue'];
$dbconnect=mysqli_connect('localhost','root','','quiz')or die("Error Connecting to database");
$query="select answer from question_answer where id=$questionid";
    $result=mysqli_query($dbconnect,$query);
    while($rows=mysqli_fetch_array($result))
    {
        $dbanswer=$rows['answer'];
    }
    if($dbanswer==$answer)
        {
            echo  "Correct Answer";
        }
    else{
        echo "Incorrect Answer";
    }

?>
4

1 に答える 1

2

thisその内の のスコープが失われまし$.get()た。キャッシュする必要があります。

var $this = $(this);
$.get(etc..., function(){
    $this.parent("div.QA").find(".report").html(data);
    $this.slideUp();
});

問題を解決する必要があります。

于 2013-08-20T03:43:08.967 に答える