2016-04-18 3 views
1

Ich mache Projekt in Laravel. Ich habe mehrere Datensätze in Datenbank, die ich in Laravels Blade-Datei mit foreach-Schleife angezeigt habe. Jeder Datensatz hat ausstehende Schaltfläche. Wann immer Benutzer auf ausstehende Schaltfläche klickt, öffnet es ein HTML-modal. Ich möchte diese Record-ID innerhalb des Modales, aber sie nimmt immer die erste Record-ID. Meine Klinge Datei aussieht,Unfähig, ID in HTML-modal von Laravels Blade-Datei zu erhalten

@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'=>['[email protected]', $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 

Unabhängig davon, welche Datensatz geklickt wird, ist es immer $ newprovider-> id als erste Rekord-ID zurückgibt. Ich weiß nicht, wo ich falsch liege. Bitte helfen und danke im Voraus.

Antwort

0

Haben diese Dinge, um die Modalverben Arbeit zu bekommen.

Bearbeiten Sie die Taste:

<button class="btn btn-default" data-toggle="modal" data-target="#Pendingnote{{$newprovider->id}}">Pending</button> 

Und der modalen Behälter:

<div class="modal fade" id="Pendingnote{{$newprovider->id}}" role="dialog"> 
+0

Wie würde ich die .on (shown.bs.modal) Funktion mit diesem Aufruf? $ ('# Pendingnote {{$ newprovider-> id}}') on ('showed.bs.modal', Funktion (event) {code here} damit? –

0

Alle modalauslösenden Tasten haben data-target="#Pendingnote", was bedeutet, dass sie alle das erste Modal mit der ID auslösen, die sie finden können.

Sie könnten zum Beispiel versuchen, das data-target Attribut zu entfernen und die Modal mit einem bisschen jQuery auslösen, wie:

$('button[data-toggle]').on('click', function() { 
    $(this).next('form').find('.modal').modal('show'); 
}); 

würde ich vorschlagen, sowieso stattdessen die form innerhalb der modalen zu haben. So würde die jQuery sein:

$('button[data-toggle]').on('click', function() { 
    $(this).next('.modal').modal('show'); 
}); 

Schließlich werfen Sie einen Blick auf diese: http://getbootstrap.com/javascript/#modals-related-target