HTML と Ajax をセットアップして、特定の画像 (reply-quote
以下のクラス) をクリックすると、Ajax が開始され、ページの別の場所に HTML がエコーされます。
以下に示すように、HTML ファイルには同じ div ブロックが複数回含まれています。私の問題は、ユーザーが画像をクリックした場合、Ajaxshow-reply
にその特定のブロックの HTML (div 内) をすべてではなく表示させるにはどうすればよいかということです。
<!-- BLOCK ONE -->
<div class="style1">
<div class="style2">
<img src="image.png" class="reply-quote" />
<div class="style3">
<div class="style4">
<div id="show-reply"></div>
<div class="reply-box">
<form class="reply-container no-margin" method="POST" action="">
<textarea class="reply-field" name="new_comment" placeholder="Write a reply..."></textarea>
<button name="submit" class="btn" type="submit">Post</button>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- BLOCK TWO -->
<div class="style1">
<div class="style2">
<img src="image.png" class="reply-quote" />
<div class="style3">
<div class="style4">
<div id="show-reply"></div>
<div class="reply-box">
<form class="reply-container no-margin" method="POST" action="">
<textarea class="reply-field" name="new_comment" placeholder="Write a reply..."></textarea>
<button name="submit" class="btn" type="submit">Post</button>
</form>
</div>
</div>
</div>
</div>
</div>
これが私が今持っているJQueryです:
$(document).ready(function() {
$(".reply-quote").click(function() {
$.ajax({
url: 'assets/misc/show_reply.php', // this file simply echoes back the HTML to the `show-reply` div
type: "POST",
data: {post_id: $(this).attr('id')},
success: function(data) {
$("#show-reply").append(data); // this is where the problem lies
}
});
});
});
私の理解で$(this), parent(), find(), etc.
は、現在使用している行 ( ) の代わりに何らかの方法で実装する必要があり$("#show-reply").append(data);
ます。問題は、画像をクリックすると、その特定のブロックの HTML のみが表示されるようにするには、その行をどのようにする必要があるかということです。
助けてください!