我有一个循环,允许我从 JSON 变量显示访问者的信息。我想测试访客是否处于“离开”状态(即访客 JSON 变量中的“离开”值是否不为空)。如果该值为空,我将显示“复选框”类型的输入。否则,我会显示一个表单和一个图标。
但是,我有一个问题:当触发@else时,尽管图标显示正确,但第一次迭代永远不会显示表单。当我进行单次迭代和多次迭代时都会出现此问题。
@for($i = 0; $i < count($vt->visiteurs); $i++)
<div>
<span class="text-4xl font-bold
@if ($vt->arrivee < date('Y-m-d H:i', strtotime(date('Y-m-d H:i'). ' - 11 hours')))
text-red-500
@elseif($vt->depart != null)
text-black
@else
text-yellow-500
@endif">
{{$vt->badge[$i]->numero}}
</span>
</div>
<div class="col-span-3">
<span class="font-bold">Visiteur :</span> {{$vt->visiteurs[$i]['name']}} {{$vt->visiteurs[$i]['firstname']}} / <span class="font-bold">Société :</span>
@php
$societe = $vt->getSocieteForVisiteur($i);
@endphp
@if($societe)
{{$societe->name}}
@endif
</div>
<div>
@if($vt->visiteurs[$i]['depart'] != null)
<span class="text-red-500 font-bold">Départ</span>
@else
<span class="text-green-500 font-bold">Sur site</span>
@endif
</div>
<div>
@if($vt->visiteurs[$i]['depart'] == null)
<input type="checkbox" class="form-check-input" name="vis[]" value="{{$i}}">
@else
<form action="{{ route('visite.cancelsortie') }}" method="POST" class="cancel">
@csrf
<input type="number" name="visite_id" value="{{ $vt->id }}" hidden>
<input type="number" name="index" value="{{ $i }}" hidden>
<i class="fa-solid fa-xmark text-red-500 text-xl"></i>
</form>
@endif
</div>
@endfor
即使图标显示正确,为什么表单在第一次迭代时没有出现?我该如何解决这个问题?
我尝试在每个表单上放置一个类,给它们一个不同的 id,用转储检查“出发”值。然而没有任何效果。
您只是忘记从
hidden
标签中省略 form-input
。
试试这个
<input type="number" name="visite_id" value="{{ $vt->id }}" >
<input type="number" name="index" value="{{ $i }}" >