我使用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"> </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以查看正在消失的按钮。
答案 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,它应该可以正常工作。