在foreach循环中,我有div响应错误和成功,我的问题是当单个循环的错误显示在所有其他foreach元素中时。
@foreach($conferences as $conference )
<div>
<div class="alert alert-danger" style="display:none"></div><br>
<div class="alert alert-success msg" style="display:none" ></div>
</div>
success:function(data){
if($.isEmptyObject(data.error)){
$(".msg").show();
$(".msg").html("Successfuly Rated!!");
$(".msg").fadeOut(5000);
}else{
jQuery('.alert-danger').show();
jQuery('.alert-danger').html('<p>'+data.error+'</p>');
jQuery('.alert-danger').fadeOut(10000);
}
对于单个循环值,我可能会有错误或成功,但所有其他循环值都会显示错误或成功。
你正在选择 $(".msg")
和 jQuery('.alert-danger')
的元素,它将选择所有具有类 msg
和 alert-danger
分别。
您在2个会议列表上的循环示例将生成以下HTML。
<div>
<div class="alert alert-danger" style="display:none"></div><br>
<div class="alert alert-success msg" style="display:none" ></div>
</div>
<div>
<div class="alert alert-danger" style="display:none"></div><br>
<div class="alert alert-success msg" style="display:none" ></div>
</div>
如你所见,有2个元素的类是 msg
的两个元素,以及具有 alert-danger
.
所以,当你运行该行 $(".msg").show();
,你将显示两个 msg
s.
如果你想只显示其中一个,你就需要使用一个更具体的选择器。