首页 > 解决方案 > 带有两个 foreach 循环的复选框选择

问题描述

我有以下代码用于将所有税款显示为复选框,我使用相同的表格来编辑税款,

@foreach($taxes as $t)
   @foreach($grouptax_taxes as $tg)
   <label class="checkbox">
   <input type="checkbox" name="taxgroup_rate[]" {{ isset($taxgroup) && $t->tax_id == $tg->tax_id ? 'checked' : ''}} id="taxgroup_{{$t->tax_id}}" value="{{$t->tax_id}}">
   <span></span>{{$t->tax_name}} - {{$t->tax_rate}} &percnt; </label>
   @endforeach
@endforeach

问题是它多次重复所有税作为 grouptax_rate,我知道它会重复,但不知道如何只选择那些值所在的复选框,并且不应该选择$grouptax_taxes剩余的值,$taxes

我怎样才能做到这一点?

标签: laravelloopsforeach

解决方案


对于检查值是否相等应该在复选框内完成,即 foreach 循环应该只覆盖检查

    @foreach($taxes as $t)
           <label class="checkbox">
           <input type="checkbox" name="taxgroup_rate[]" value="{{$t->tax_id}}"   id="taxgroup_{{$t->tax_id}}"
            @foreach($grouptax_taxes as $tg)
             {{ ($t->tax_id == $tg->tax_id)? 'checked' : ''}}
           @endforeach >
           <span>{{$t->tax_name}} - {{$t->tax_rate}}</span></label>
        @endforeach

推荐阅读