0
大家好日子,僅在while循環中附加到當前div元素
我有以下代碼結構。此代碼結構加載一個頁面,其中包含不同的帖子主題和內容。對於每個加載的帖子,用戶可以留言。看看下面的代碼:
<?php
$getposts = "SELECT * FROM posts";
if ($result = $con->query($getposts)) {
while ($row1 = $result->fetch_assoc()) {
$id = $row1['id'];
$subject = $row1['sub'];
$content = $row1['body'];
$comments = $row1['comments'];
echo"
<div class='content_wrap'>
<div class='subject'>$subject</div>
<div class='content'>$content</div>
<div class='comment'>$comments</div>
</div>
";
?>
<form id='reply' autocomplete="off">
<input type="hidden" value="<?php echo $id;?>" name="id" id="pid"/>
<input type="text" name="comment" id="comment" placeholder="Type a commmment here..."></input>
</form>
<?php
}
}
?>
<script type="text/javascript">
$('form').submit(function() {
var comment = $(this).find('input[name=comment]').val();
var id = $(this).find('input[name=id]').val();
$.post("comments_ins.php", { pub_id: id, comment: comment});
$(this).parent().children('.content_wrap').append("<div
class='comment'" + comment + "</div");
var comment = $(this).find('input[name=comment]').val('');
return false;
});
</script>
以上所有的代碼,我目前在一個頁面...和該文件是一個PHP文件類型。
請注意,根據while循環,會爲頁面上每個加載的帖子生成一個表單。上面的代碼工作大約90%正確。但有一件事我似乎並不正確。 我希望當用戶離開評論時,該評論僅顯示在該帖子的頁面上....將所有加載的帖子鎖定在頁面上。 因此,如果用戶鍵入第一條評論,則該評論是可見的,並且如果用戶對該同一帖子鍵入另一條評論,則新評論屬於之前發佈的評論....並且是可見的。每當用戶輸入評論時,它都會附加到div元素。
我該如何去做到這一點?
如果你看看我的JavaScript上面,我做了一個嘗試,但它沒有爲我工作。
指導將不勝感激。 感謝
嘿Trevor,謝謝你的回覆。但是,我現在如何設置JavaScript部分以使用新配置?我已經做了你對PHP的一部分已經說...我仍然不是很擅長這些東西,所以任何幫助將不勝感激。 – maraj
我不是100%確定我遵循你的目標是什麼,但我認爲你只需要縮小你的jQuery選擇器。現在你可以通過id而不是按類來搜索,這將返回每個評論框。 您是否已經將頁面運行到可以查看所有代碼的地方? –
我沒有一個實時頁面,但這是確切的編碼。我在javacript標記中嘗試了這一行:$(「。comment_body_ $ postid」)。append(「Test」);但那不行。該PHP與新的ID配置很好,但是要找到一種方法來使java片段捕獲每個帖子指定的php while循環中的每個postid,並將它分配給該div,只有該格式的帖子。但我在這裏的股票主力,而 – maraj