Javascript 为什么类活动不处理第二个循环?
我的代码如下:Javascript 为什么类活动不处理第二个循环?,javascript,php,jquery,html,laravel-5.3,Javascript,Php,Jquery,Html,Laravel 5.3,我的代码如下: <div class="row no-gutter"> <div class="col-md-3"> <h2 class="nav-cat-text">By Players</h2> </div> <div class="col-md-9 col-xs-12"> <div class="wrap-tabs"> <
<div class="row no-gutter">
<div class="col-md-3">
<h2 class="nav-cat-text">By Players</h2>
</div>
<div class="col-md-9 col-xs-12">
<div class="wrap-tabs">
<ul class="nav nav-tabs nav-cat">
@foreach($categories as $category)
@if($category->parent_id == 1)
<li role="presentation" class="{{ $loop->first ? 'active' : '' }}"><a href="javascript:;" data-toggle="tab">{{ ucfirst($category->name) }}</a></li>
@endif
@endforeach
</ul>
</div>
</div>
</div>
<br>
<!-- By Types -->
<div class="row no-gutter">
<div class="col-md-3">
<h2 class="nav-cat-text">By Types</h2>
</div>
<div class="col-md-9 col-xs-12">
<div class="wrap-tabs">
<ul class="nav nav-tabs nav-cat">
@foreach($categories as $category)
@if($category->parent_id == 2)
<li role="presentation" class="{{ $loop->first ? 'active' : '' }}"><a href="javascript:;" data-toggle="tab">{{ ucfirst($category->name) }}</a></li>
@endif
@endforeach
</ul>
</div>
</div>
</div>
玩家
@foreach($categories作为$category)
@如果($category->parent_id==1)
@恩迪夫
@endforeach
按类型
@foreach($categories作为$category)
@如果($category->parent_id==2)
@恩迪夫
@endforeach
按玩家和类型,每个都有五个标签
当代码被执行时,“玩家”上的第一个选项卡处于活动状态
但是为什么“按类型”上的第一个选项卡不处于活动状态?如果在第一个循环中使用此条件,则看起来您犯了错误
@if($category->parent_id == 1)
在第二个例子中,你用这个
@if($category->parent_id == 2)
因此,在按类型分类的
中,第一个项目不处于活动状态这里的主要问题是,您的第一个项目具有父项id=1
,因此它是第一个循环,因此它处于活动状态。
但是在第二个foreach中,第一个项目没有parent\u id=2
,因为它当然有前面提到的parent\u id=1
解决方案:
在每个@foreach之前<代码>
并编辑如下代码:
@if($category->parent_id == 1)
<li role="presentation" class="{{ $x == 0 ? 'active' : '' }}">
<a href="javascript:;" data-toggle="tab">
{{ ucfirst($category->name) }}
</a>
</li>
<?php $x =1 ?>;
@endif
@if($category->parent\u id==1)
;
@恩迪夫
第二个循环也是一样,我建议您使用来自laravel的集合 首先,您可以使用如下所示的筛选函数来分离类别
<?php
$players = collect($categories)->filter(function($value){
return $value->parent_id === 1;
});
$types = collect($categories)->filter(function($value){
return $value->parent_id === 2;
});
?>
现在,您有了单独的类别,循环它们
@foreach($players as $category)
<li role="presentation" class="{{ $loop->first ? 'active' : '' }}">
<a href="javascript:;" data-toggle="tab">{{ ucfirst($category->name) }}</a>
</li>
@endforeach
@foreach($types as $category)
<li role="presentation" class="{{ $loop->first ? 'active' : '' }}">
<a href="javascript:;" data-toggle="tab">{{ ucfirst($category->name) }}</a>
</li>
@endforeach
@foreach($category中的玩家)
@endforeach
@foreach($类型作为$类别)
@endforeach
您的意思是说类别是代码中的选项卡???@Sona,是的,类别是选项卡