我创建了一个显示Carousel中使用的所有图像的视图。这是我在控制器中的方法 我的编辑方法:
public function edit($id)
{
$carousel = Carousel::find($id)->first();
return view('admin.partials._edit-modal.blade');
}
我的编辑路线:
Route::get('carousel.edit/{id}',['as' => 'carousel.edit', 'uses' => 'LinkController@edit']);
这是我在视图中显示它的代码:
@foreach($carousels as $carousel)
<div class="col-xs-6 col-md-3 grid">
<a href="{{ url($carousel->path) }}" class="thumbnail" data-lity>
<img class="img-responsive" src="{{ $carousel->path }}" alt="">
</a>
</div>
@endforeach
我已经设置了一个按钮来打开一个模型,该模型显示所选图像和表单以编辑图像名称[表格尚未设置,仅显示图像]。 我的型号代码:
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<img class="img-responsive" src="{{ $carousel->path }}" alt="">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
代码中没有错误,但是当单击编辑按钮时,它始终显示表格的最后一个图像。是否单击第一个,第二个或任何图像的编辑按钮。模型始终显示最后一张图像。
答案 0 :(得分:0)
当使用foreach()循环显示图像时,您应该包含编辑该图像的按钮,包括图像的ID,并将此ID传递给模态。像这样:
<button type="button" class="edit-image" data-toggle="modal" data-target="#myEditImageModal" data_value="{{ $image->id }}"> Edit</button>
然后添加一个脚本,以便在单击该按钮时传递该特定ID。你可以用js:
完成这个<script>
// pass image id to modal
$('.edit-image').click(function() {
$("#image_id").val($(this).attr('data_value'));
});
</script>
最后,模态将接收该ID,您可以将其存储在表单内的隐藏输入字段中。像这样:
<div id="myEditImageModal" tabindex="-1" role="dialog" class="modal fade">
...
<form>
...
<input type="hidden" name="image_id" id="image_id">
...
</form>
...
</div>