jQuery $ .post()使用输出数据作为选择器

时间:2014-02-12 10:22:31

标签: javascript php jquery post selector

我正在尝试构建一个测验环境。用户选择答案,然后单击“提交”。提交后,将调用以下jquery:

$(document).ready(function() {
    $('.btn-large').click(function() {
        $.post("correct_quiz.php",
        {
            choices : $('input[name=choice][type=radio]:checked').serialize()
        },
        function(data) {
            var temp = '#correct' + data;
            var temp2 = '#correct3';
            $(temp).show();  // Make the wrong/right icons visible
        });
    });
});

根据答案是否正确,此jquery会显示绿色或红色图标。 correct_quiz.php脚本包含:

<?php 
       $root = "/users/stadius/maapc/public_html/";
       include($root . "connect_to_database.php");

       $choices = $_POST['choices']; // This will for example output "choice=3"
       echo substr($choices,7,7); // This will then output "3"
?>

我遇到了一个问题,当我尝试上面带有变量temp2的jquery代码时,脚本就像我想要的那样工作。但是当我用变量temp尝试它时它不会。当我调试时,我看到它们包含完全相同的字符串:两者都是'#correct3'(当我选择第3个答案时)。

那么为什么当我使用变量temp时这不起作用,并且在使用temp2时工作?

1 个答案:

答案 0 :(得分:0)

我认为你的问题就在这一行:

echo substr($choices,7,7);

尝试使用:

$list = explode('=', $choices);

echo $list[1];

而不是substr