1

我正在使用 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看到消失的按钮。

4

2 回答 2

2

您之前使用的是 id 为“question”的 div。

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

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

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

于 2012-08-04T04:08:09.283 回答
1

您有 2 个带有 ID 问题的 div,并且 javascript 将替换您运行时找到的第一个的内容:

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

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

于 2012-08-04T04:03:33.700 回答