无法在laravel的刀片文件的html模式中获取id

时间:2016-04-18 12:50:15

标签: php laravel

我在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">&times;</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。我不知道我哪里出错了。请提前帮助和谢谢。

2 个答案:

答案 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">