2016-09-23 54 views
1

我有这个PHP脚本 -我怎么能单独切换一个div从PHP输出时,while循环

$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“replyBTN”和使用jQuery来切换形式,这里是我的jQuery的点击功能 -

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

目前,它只会触发第一注释的第一个回复按钮,所有其他的回复按钮不会在其他意见工作。为什么jquery只能通过第一个回复按钮?

+4

它仅适用于第一个原因,是因为* * ID是唯一的**,所以一旦找到第一个元素,jQuery就会停止搜索更多的元素,只是因为不能有更多元素具有相同的ID,它是无效的。 – adeneo

+2

...因此,使用一个类。 –

+0

那么将更改为类修复此? –

回答

2

我认为这适合作为一个社区wiki;我从此没有任何收获,我也不希望代表获得它。

从评论摘自:

它仅适用于第一个原因,是因为ID是唯一,所以一旦第一个被发现的jQuery停止寻找更多的元素,只是因为有不能是具有相同ID的更多元素,它是无效的。 - adeneo

和矿山

...因此,使用类弗雷德 - -ii-