2017-02-03 6 views
0

Я хочу, чтобы показать данные в начальной загрузки модальным в зависимости от строки, я щелкнул, но я всегда получаю последнее значение таблицы, даже я нажимаю на другую строкуПолучить данные строки в Laravel 5

Вид:

@foreach (App\Model\Users::all() as $users) 
<tr> 
    <td>{{ $users->nama_depan }}</td> 
    <td>{{ $users->nama_belakang }}</td> 
    <td>{{ $users->email_user }}</td> 
    <td>{{ $users->no_hp }}</td> 
    <td> 
    <a href="#" data-href="{{ route('allusers.edit',$users->id_user) }}" data-target="#modaledit" data-toggle="modal"><i class="fa fa-pencil"></i></a> 
    <a href="#" data-href="{{ route('delete-user', $users->id_user) }}" data-toggle="modal" data-target="#modaldelete"><i class="fa fa-trash-o"></i></a> 
    </td> 
</tr> 
@endforeach 

Modal:

<div id="modaledit" class="modal fade" role="dialog"> 
    <div class="modal-dialog"> 

    <!-- Modal content--> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">&times;</button> 
     <h4 class="modal-title">Edit User</h4> 
     </div> 
     <div class="modal-body"> 
     <div class="form-group"> 
      <label for="InputEmail">Email address</label> 
      <input type="email" class="form-control" 
      id="InputEmail" placeholder="Enter email" value=""/> 
     </div> 
     <div class="form-group"> 
      <label for="InputPassword">Password</label> 
      <input type="password" class="form-control" 
       id="InputPassword" placeholder="Password"/> 
     </div> 
     <button type="submit" class="btn btn-default">Submit</button> 
     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     </div> 
    </div> 
    </div> 
</div> 

Маршрут:

Route::resource('allusers','AllUsersController'); 

Контроллер:

public function edit($id_user) 
{ 
    $users = \App\Model\Users::findOrFail($id_user); 
    return view('all-users',compact('users')); 
} 

JQuery:

$('#modaledit').on('show.bs.modal', function(e) { 
    $(this).find('#InputEmail').attr('value', '{{ $users->email_user }}'); 
}); 

ответ

1

Попробуйте следующие изменения:

Вид:

@foreach (App\Model\Users::all() as $users) 
<tr> 
    <td>{{ $users->nama_depan }}</td> 
    <td>{{ $users->nama_belakang }}</td> 
    <td class="emali_{{ $users->id_user }}">{{ $users->email_user }}</td> 
    <td>{{ $users->no_hp }}</td> 
    <td> 
     <a href="#" data-href="{{ route('allusers.edit',$users->id_user) }}" data-target="#modaledit" data-toggle="modal" data-id="{{ $users->id_user }}" ><i class="fa fa-pencil"></i></a> 
     <a href="#" data-href="{{ route('delete-user', $users->id_user) }}" data-toggle="modal" data-target="#modaldelete"><i class="fa fa-trash-o"></i></a> 
    </td> 
</tr> 
@endforeach 

JQuery:

$('#modaledit').on('show.bs.modal', function(e) { 
    var data_id = ($(event.relatedTarget).attr('data-id')); 
    var email = $('.emali_'+data_id).text(); 
    $(this).find('#InputEmail').attr('value', email); 
}); 
+0

Я пробовал это, но я получаю значение null – janotama

+0

значение null для data_id? @Janotama – mith

+0

я удаляю console.log, и он работает !! Спасибо за помощь @mith – janotama

Смежные вопросы