使用jquery在测验上加载项目。为什么我在加载时会丢失按钮来选择下一个项目?

时间:2012-08-04 03:56:57

标签: php jquery

我使用jquery动态地将问题内容加载到div中。这是我的第一次尝试,当我点击“获取问题”按钮时它会加载。但是,当问题加载时,“获取问题”按钮会消失。我希望按钮保持不变并最终将其用作下一个问题按钮。

这是jquery代码:

<script type="text/javascript" src="../jquery/jquery/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(
$("#GetQuest").click(function(){
    $.post("CCRN/question.php", {num : parseInt($("input#q_num").val()) + 1}, function (data) {
        $("div#question").html(data);
        $("input#q_num").val() =  parseInt($("input#q_num").val()) + 1;
    });
});
});
</script>

<input type="button" id="GetQuest" value="Get Question" />
<input type="hidden" id="q_num" value=1 />
<p>Question: <div id="question"> </div></p>
<p>Answer: <div id="answer"> </div></p>

以下是创建代码的问题(虽然问题加载并显示正常)

<table width="100%"><?php
$i = $q_num;
if ($row["image"] <> NULL) { ?>
 <tr align="center">
    <td colspan="2" align="center">
        <img src="<?php $pic = $row["image"]; echo $base_path . $pic; ?>" />
    </td>
 </tr><br />
<tr>
<td colspan="3">&nbsp;</td>
</tr>
<?php
 } ?>
<tr id="Qu<?php echo $i; ?>" class="Qu<?php echo $i; ?>">
<td width="7%"><?php echo $i.") " ?></td>
<td width="93%" ><?php echo $row["question"]; ?></td>
</tr>

<?php 
for ($j=1;$j<=6;$j++) { 
$bracket= "answer_" . $j;
if ($row[$bracket] !== NULL) {?>
    <tr>
        <td align="center" class="row<?php echo $j % 2; ?>" width="7%">
            <input type="radio" <?php echo ($_POST["Q".$i] == $j) ? 'checked="checked"' : '' ; ?> name="Q<?php echo $i; ?>" value="<?php echo $j; ?>" /><?php echo chr(64 + $j); ?>
        </td>
        <td class="row<?php echo $j % 2; ?>" width="93%">
            <?php echo $row["answer_".$j]; ?>
        </td>
    </tr> <?php
}
} ?>
</table><hr size="2" width="95%">

我不明白为什么加载问题内容时按钮会消失。我确定这很简单,这就是为什么我要来一个安全的避风港,以尽量减少嘲笑! :)

实时测试网站http://www.GrowingSpeakers.com/index2.php以查看正在消失的按钮。

2 个答案:

答案 0 :(得分:2)

您之前正在使用ID为“问题”的div。

<div class="TabbedPanelsContent" id="question"> 

<p>Question: <div id="question"> </div></p>

即使id来自不同的文件也没关系,只要它们显示在同一个DOM树中 - 它们将被视为同一个。

答案 1 :(得分:1)

你有两个带有ID问题的div,javascript将替换你运行时找到的第一个内容:

 $("div#question").html(data);

如果您更改第一个的ID,它应该可以正常工作。