我在laravel做项目。我在数据库中有多个记录,我使用foreach循环在laravel的刀片文件中显示。每条记录都有待处理按钮。每当用户点击挂起按钮时,它就会打开一个html模式。我希望在模态中记录id,但它总是需要第一个记录ID。我的刀片文件看起来像,
@foreach($providerData as $newprovider)
<h4>Name:{{$newprovider->name}}</h4>
<button class="btn btn-default" data-toggle="modal" data-target="#Pendingnote">Pending</button>
{!! Form::model( $newprovider->id ,['method' => 'PATCH','action'=>['superadminController@pendingProvider', $newprovider->id]]) !!}
<div class="modal fade" id="Pendingnote" 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">Note {!! $newprovider->id !!}</h4>
</div>
<div class="modal-body">
<input type="text" class="form-control" name="note" value="{{ old('note') }}">
</div>
<div class="modal-footer">
{!! Form::submit('Add', ['class' => 'btn btn-default']) !!}
</div>
</div>
</div>
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</div>
{!! Form::close() !!}
@endforeach
无论点击哪个记录,它总是返回 $ newprovider-&gt; id 作为第一个记录的ID。我不知道我哪里出错了。请提前帮助和谢谢。
答案 0 :(得分:0)
所有模态触发按钮都有data-target="#Pendingnote"
,这意味着它们都会触发第一个带有他们可以找到的ID的模态。
您可以尝试删除data-target
属性并使用一些jQuery触发模态,例如:
$('button[data-toggle]').on('click', function () {
$(this).next('form').find('.modal').modal('show');
});
无论如何,我建议在模态中使用form
。所以jQuery将是:
$('button[data-toggle]').on('click', function () {
$(this).next('.modal').modal('show');
});
最后,请看一下:http://getbootstrap.com/javascript/#modals-related-target
答案 1 :(得分:0)
做这些事情以使模态有效。
将按钮编辑为:
<button class="btn btn-default" data-toggle="modal" data-target="#Pendingnote{{$newprovider->id}}">Pending</button>
模态容器:
<div class="modal fade" id="Pendingnote{{$newprovider->id}}" role="dialog">