我有这段代码:
CSS文件:
#answerform {
display: none;
}
PHP文件:
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<?php
$sql="SELECT comment FROM comments
ORDER BY comments.id DESC";
$result = mysql_query($sql) or trigger_error ( mysql_error ( ));
while($row = mysql_fetch_array($result))
{
echo "<div>";
echo $row['comment'];
echo "</br>";
// Answer to comment
echo "<a id=hrefanswer href='#'> Answer </a>";
// Answer form
echo "<div id=answerform>";
echo "<input type='text' value='' name='answer' id='answer'/>";
echo "</div>";
echo "</div>";
}
?>
<script>
$('#hrefanswer').click(function(){
$(this).hide();
$('#answerform').show();
});
</script>
我使用代码显示一些注释,使用mysql select查询,并在每个注释中都有一个链接(Answer)。点击链接时我想隐藏链接,同时显示一个表格。问题是这只发生在最后一条注释中,而不是在select mysql查询的每个注释中。为什么呢?
答案 0 :(得分:0)
问题是因为您复制了循环中添加的div
的ID - ID必须是唯一的。
更改a
和div
以使用班级:
echo "<a class=hrefanswer href='#'> Answer </a>";
// more code
echo "<div class=answerform>";
然后像这样修改你的jQuery:
$('.hrefanswer').click(function() {
$(this).hide().next(".answerform").show();
});
此外,您的PHP文件顶部缺少</script>
,您应将每个HTML属性括在引号中。