我尝试更改$key
值时设置颜色。我的意思是我的$key
更改时正在生成一个表。现在,我要在 $ key更改并创建新表时设置其他bg颜色。现在<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
答案 0 :(得分:1)
您可以使用变量在每个循环中存储$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
答案 1 :(得分:0)
您可以先将刀片中的类添加到具有相似值的组元素中:
@php($prev = null)
@php($counter = 1)
@foreach($ser as $s)
@php
$counter = $s->key == $prev || is_null($prev) ? $counter : $counter + 1;
@endphp
<tr>
<td class="td_color_{{ $counter }}"> TE 17 <br/>{{$s->sp}}</td>
<td> {{$s->dd}}</td>
<td> {{$s->ss}}</td>
<td> {{$s->dt}}</td>
</tr>
@php($prev = $s->key)
@endforeach
这将为您提供每个<tr>
中第一列的内容:
<td class="td_color_1">...</td>
<td class="td_color_1">...</td>
<td class="td_color_2">...</td>
<td class="td_color_2">...</td>
<td class="td_color_3">...</td>
<td class="td_color_4">...</td>
<td class="td_color_5">...</td>
然后在CSS中为这些颜色设置颜色:
<style type="text/css">
td.td_color_1 { background: red; }
td.td_color_2 { background: blue; }
td.td_color_3 { background: green; }
td.td_color_4 { background: yellow; }
td.td_color_5 { background: pink; }
</style>