有一个帖子。在帖子中,用户也可以评论和回复。
可能会有很多评论。每个评论都有回复按钮。每个答复按钮具有相同的类reply
。因此,每当我尝试回复某些评论并按回复按钮时。每个评论的回复文本框打开。我想打开所选评论的回复text box
。
我尝试过先隐藏reply form
,然后在单击“回复”按钮后显示它。
评论ID也可以通过回复按钮传递给jquery。
Blade file
<a href="#" class="reply">Reply</a>
<div class="reply-form">
<form action="{{route('reply')}}" method="post">
@csrf
<input name="reply" type="text">
</form>
</div>
jquery file
$('.reply-form').hide();
$('.comment-container').delegate(".reply","click",function(e){
e.preventDefault();
$('.reply-form').toggle(function(){
});
})
对于每条评论,都有一个按钮答复,其类名为reply
因此,每条评论回复都会在我click
个reply button
之后出现。
答案 0 :(得分:1)
尝试
$('.reply-form').hide();
$('.comment-container').delegate(".reply","click",function(e){
e.preventDefault();
$($(this).find('.reply-form')).toggle(function(){
});
});
答案 1 :(得分:0)
尝试以下操作:
$('.reply-form').hide();
$('.reply').click(function(e) {
e.preventDefault();
var replyForm = $(this).siblings('.reply-form');
$(replyForm).toggle(function(){
});
});
答案 2 :(得分:0)
尝试更改jquery。
Blade file
<a href="#" class="reply">Reply</a>
<div class="reply-form d-none">
<form action="{{route('reply')}}" method="post">
@csrf
<input name="reply" type="text">
</form>
</div>
为D-none添加样式
.d-none{display:none;}
还有jquery,
$(document).on('click','.reply',function(){
$(this).closest('.reply-form').removeClass("d-none");
//$(this).closest('.reply-form').toggleClass("d-none"); //second option if want to show and hide
}
然后从锚中删除href =“#”或添加javascript:void(0)