Laravel项目中如何在锚标签的data属性中设置图片URL
解决Laravel模态框传递图片URL到data属性的问题
嘿,这个问题其实很容易搞定!你只需要把生成图片URL的代码直接添加到锚标签的data-*属性里,之后在模态框的JavaScript代码里读取这个属性值就行啦。
第一步:修改锚标签,添加图片URL的data属性
你可以在现有的show-modal锚标签里新增一个data-image属性,值和你表格里img标签的src完全一致,也就是{{ url('images', $employee->image) }}。修改后的代码片段如下:
@foreach ($employees as $employee) <tr class="post{{$employee->id}}"> <td>{{ $no++ }}</td> <td>{{ $employee->name}}</td> <td>{{ $employee->bank->name}}</td> <td>{{ $employee->bankbranch->location}}</td> <td><img alt="Smiley face" height="50" width="70" src="{{url('images',$employee->image)}}"/></td> <td>{{ $employee->created_at}}</td> <td> <a href="#" class="show-modal btn btn-info btn-sm" data-id="{{$employee->id}}" data-bank_id="{{$employee->bank->name}}" data-bankbranch_id="{{$employee->bankbranch->location}}" data-salary="{{$employee->salary}}" data-qincentive="{{$employee->qincentive}}" data-fbonus="{{$employee->fbonus}}" data-hrent="{{$employee->hrent}}" data-ename="{{$employee->ename}}" data-ephone="{{$employee->ephone}}" data-relationship="{{$employee->relationship}}" data-gender="{{$employee->gender}}" data-religion="{{$employee->religion}}" data-bgroup="{{$employee->bgroup}}" data-mstatus="{{$employee->mstatus}}" data-transportallowance="{{$employee->transportallowance}}" data-eaddress="{{$employee->eaddress}}" <!-- 新增的图片URL data属性 --> data-image="{{ url('images', $employee->image) }}"> <i class="fa fa-eye"></i> </a> </td> </tr> @endforeach
第二步:在模态框的JS代码中读取并使用这个属性
接下来,当用户点击眼睛图标打开模态框时,你可以通过JavaScript(比如jQuery)获取这个data-image的值,然后把它设置到模态框里的图片元素上。示例代码如下:
$('.show-modal').click(function(e) { e.preventDefault(); // 获取图片URL const imageUrl = $(this).data('image'); // 假设模态框里有一个id为modal-image的img元素 $('#modal-image').attr('src', imageUrl); // 这里处理其他data属性的赋值... $('#modal-id').text($(this).data('id')); // ...其他字段的设置 // 最后显示模态框 $('#your-modal-id').modal('show'); });
这样,当你打开模态框时,对应的员工图片就会正确显示啦!
内容的提问来源于stack exchange,提问作者nawshin.ahmed
相关产品推荐
相关产品推荐

