如何从php while循环输出时单独切换div

时间:2016-09-23 00:43:13

标签: php jquery forms while-loop toggle

我有这个PHP脚本 -

$sql = "SELECT * FROM comments WHERE post_id='$id' ORDER BY com_id DESC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {

while($row = $result->fetch_assoc()) {
    $date = $row['date'];
    $mydate = date("M jS g:i a",strtotime($date));
    $user = $row['user'];
    $comment = $row['comment'];
    $reply = $row['reply'];
    $comID = $row['com_id'];

    echo '<div id="comuser">'.$user.': </div>';
    echo '<div id="icomment">'.$comment.'</div>';
    echo '<div id="comdate">'.$mydate.'</div>';
    echo '<div id="replyBTN">reply</div>';

        echo '<form method="post" id="replyForm" action="get_reply.php?reply='.$comID.'">';
        echo '<input type="text" id="addReply" name="addReply" placeholder="add reply">';
        echo '<input type="submit" name="subCom" value="submit">';
        echo '</form>';


}
} else {
    echo "<div id='noCom'>no comments..</div>";
}

我想回应一下div&#39; replyBTN&#39;并使用jquery切换表单,这是我的jquery点击功能 -

$(document).ready(function(){   
    $("#replyBTN").click(function(){
        $("#replyForm").toggle();
    });
});

目前只会切换第一条评论中的第一个回复按钮,其他回复按钮将无法在其他评论中使用。为什么jquery只有toogle第一个回复按钮?

1 个答案:

答案 0 :(得分:2)

我认为这适合作为社区维基;我没有从中得到任何好处,我也不期待它的收益。

取自评论:

  

它仅适用于第一个的原因是因为 ID是唯一的,所以jQuery在找到第一个元素后停止搜索更多元素,因为不能存在更多具有相同ID的元素,它是无效的。 - adeneo

和我的

  

...因此,请使用一个类 - Fred -ii -