首页 > 解决方案 > 如何根据 foreach 循环中的键更改更改表“td”颜色

问题描述

$key当我的值改变时,我试图设置颜色。我的意思是当我改变时我正在生成一张桌子$key。现在我想在$key 更改并创建新表时设置不同的 bg-color。现在<th colspan="5">{{$key}}</th>正在更改并为每个$key我需要设置$key正在更改的颜色创建表。

@foreach($lists as $key => $ser)
    <table class="table table-striped table-bordered table-hover" id="sample_3">
        <thead>
        <tr>
            <th colspan="5">{{$key}}</th>
        </tr>
        <tr>
            <th> Destination</th>
            <th> Services</th>
            <th> Status</th>
            <th> Time</th>
        </tr>
        </thead>
        <tbody>
        @foreach($ser as  $s)
            <tr>
                <td style="background: rgb(176,224,230);"> TE 17 <br/>{{$s->sp}}</td>
                <td> {{$s->dd}}</td>
                <td> {{$s->ss}}</td>
                <td> {{$s->dt}}</td>
            </tr>
        @endforeach
        </tbody>
    </table>
@endforeach

标签: csslaravelhtml-table

解决方案


您可以使用变量来存储$key每个循环中的值。然后您可以检查是否$key与前一个相同并相应地更改颜色。

@php($prevvalue='')
@foreach($ser as  $s)
<tr>
    <td  style="background: {{$s->key == $prevvalue ? 'oldcolor','newcolor'}}"> TE 17 <br/>{{$s->sp}}</td>
    <td> {{$s->dd}}</td>
    <td> {{$s->ss}}</td>
    <td> {{$s->dt}}</td>
</tr>
@php($prevvalue = $s->key)
@endforeach

推荐阅读