Laravel 根据输入值分组 div
Laravel grouping div according to their input value
我正在尝试使用 laravel 8 的运动项目。 div 中有一个隐藏的输入,如果值为 1,它会创建一个 div 和一个名为“superseted”的 class 并将其全部收集在其中。如下:
<div class="superseted">
<div><input type="hidden" value="1"> Products</div>
<div><input type="hidden" value="1"> Products2</div>
</div>
但并非所有输入值都是 1。
数据库中的值是这样从上到下排序的,
1,
1、
0,
0,
1、
1,
所以,我们需要按照这样的结构进行分组,
<div class="program">
<!-- grouped -->
<div class="superseted">
<div> <input type="hidden" value="1"> Products</div>
<div> <input type="hidden" value="1"> Products2</div>
</div>
<!-- This is not grouped -->
<div><input type="hidden" value="0"> Products3</div>
<div><input type="hidden" value="0"> Products4</div>
<!-- grouped -->
<div class="superseted">
<div> <input type="hidden" value="1"> Products5</div>
<div> <input type="hidden" value="1"> Products6</div>
</div>
</div>
我们需要创建一个这样的结构。我们正在使用的 foreach 无法正常工作。这是 foreach
<div class="program">
@foreach($d->movementdetail as $detail)
<div class="{{ $detail->movement_superset==1 ? "superseted" : "" }}">
<div><input type="hidden" value="{{$detail->movement_superset}}">ProductName</div>
@if($detail->movement_superset==1)
<input type="checkbox" class="supersetChk">
@endif
</div>
@endforeach
</div>
我们如何得到我们想要的结构?谢谢。
您可以试试下面的代码:
<div class="program">
@php
$last_value = 0;
@endphp
@foreach($d->movementdetail as $detail)
<!-- superset div tag control -->
@if ($detail->movement_superset == 1)
@if(!$last_value)
<div class="superseted">
@endif
@else
@if($last_value)
</div>
@endif
@endif
<!-- superset div tag control ends -->
<div><input type="hidden" value="{{$detail->movement_superset}}">{{$detail->movement_superset}}</div>
@if($detail->movement_superset==1)
<input type="checkbox" class="supersetChk">
@endif
@php
$last_value = $detail->movement_superset;
@endphp
@endforeach
</div>
我正在尝试使用 laravel 8 的运动项目。 div 中有一个隐藏的输入,如果值为 1,它会创建一个 div 和一个名为“superseted”的 class 并将其全部收集在其中。如下:
<div class="superseted">
<div><input type="hidden" value="1"> Products</div>
<div><input type="hidden" value="1"> Products2</div>
</div>
但并非所有输入值都是 1。 数据库中的值是这样从上到下排序的,
1, 1、 0, 0, 1、 1,
所以,我们需要按照这样的结构进行分组,
<div class="program">
<!-- grouped -->
<div class="superseted">
<div> <input type="hidden" value="1"> Products</div>
<div> <input type="hidden" value="1"> Products2</div>
</div>
<!-- This is not grouped -->
<div><input type="hidden" value="0"> Products3</div>
<div><input type="hidden" value="0"> Products4</div>
<!-- grouped -->
<div class="superseted">
<div> <input type="hidden" value="1"> Products5</div>
<div> <input type="hidden" value="1"> Products6</div>
</div>
</div>
我们需要创建一个这样的结构。我们正在使用的 foreach 无法正常工作。这是 foreach
<div class="program">
@foreach($d->movementdetail as $detail)
<div class="{{ $detail->movement_superset==1 ? "superseted" : "" }}">
<div><input type="hidden" value="{{$detail->movement_superset}}">ProductName</div>
@if($detail->movement_superset==1)
<input type="checkbox" class="supersetChk">
@endif
</div>
@endforeach
</div>
我们如何得到我们想要的结构?谢谢。
您可以试试下面的代码:
<div class="program">
@php
$last_value = 0;
@endphp
@foreach($d->movementdetail as $detail)
<!-- superset div tag control -->
@if ($detail->movement_superset == 1)
@if(!$last_value)
<div class="superseted">
@endif
@else
@if($last_value)
</div>
@endif
@endif
<!-- superset div tag control ends -->
<div><input type="hidden" value="{{$detail->movement_superset}}">{{$detail->movement_superset}}</div>
@if($detail->movement_superset==1)
<input type="checkbox" class="supersetChk">
@endif
@php
$last_value = $detail->movement_superset;
@endphp
@endforeach
</div>