在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>
ajax响应
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>
正如您所看到的,有两个元素属于msg
类,还有两个元素是alert-danger
类。
因此,当您运行线路$(".msg").show();
时,您将显示两个msg
s。
如果只想显示其中一个,则需要使用更具体的选择器。