【发布时间】:2020-10-04 18:30:01
【问题描述】:
所以我正在使用模态来做这件事,我想我能够做到这一点,只是表格中的数据没有显示在模态的文本框中。我能够更新我的表格,只是我希望所选行的数据显示在模式中。
所以它看起来是这样的: enter image description here
这是我的观点:表格部分 (view/crud/crud.blade.php)
<div>
<table class="table" id="dataTable">
<thead>
<tr>
<th scope="col">id</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Course</th>
<th scope="col">Action</th>
</tr>
</thead>
<tbody>
@foreach ($cruds as $crud)
<tr>
<td>{{$crud->id}}</td>
<td>{{$crud->firstName}}</td>
<td>{{$crud->lastName}}</td>
<td>{{$crud->course}}</td>
<td>
<a href="#" class= "btn btn-warning edit_btn"> Edit </a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@else
<p> No Post found </p>
@endif
这是我的观点:模态部分 (view/crud/crud.blade.php)
<div class="modal fade" id="editModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">EDIT DATA</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<form action="/crud" method="POST" id = "editForm">
{{csrf_field()}}
{{method_field('PUT')}}
<div class="modal-body">
<input type="hidden" class="form-control" id="crud_id">
<div class="form-group">
<label>First Name</label>
<input type="text" class="form-control" name="firstName" id="firstName">
</div>
<div class="form-group">
<label>Last Name</label>
<input type="text" class="form-control" name="lastName" id="lastName">
</div>
<div class="form-group">
<label>Course</label>
<input type="text" class="form-control" name="course" id="course">
</div>
</div>
<div class = "modal-footer">
{{Form::submit('Update', ['class' => 'btn btn-primary'])}}
</div>
</form>
</div>
</div>
</div>
这是我的 js (public/js/modal.js)
$(document).ready(function(){
var table = $('#dataTable').DataTable();
//display Edit Modal
$('.edit_btn').on('click', function(){
$tr = $(this).closest('tr');
var data = $tr.children("td").map(function(){
return $(this).text();
}).get();
console.log(data);
$('#firstName').val(data[1]);
$('#lastName').val(data[2]);
$('#course').val(data[3]);
$('#editForm').attr('action', '/crud/' + data[0]);
$('#editModal').modal('show');
})
});
这是我的控制器:更新部分
public function update(Request $request, $id)
{
//
$this->validate($request, [
'firstName' =>'required',
'lastName' => 'required',
'course' => 'required'
]);
//Adding Data
$crud = Crud::find($id);
$crud->firstName = $request->input('firstName');
$crud->lastName = $request->input('lastName');
$crud->course = $request->input('course');
$crud->save();
return redirect('/crud');
}
这是我的路线
Route::resource('crud', 'CrudController');
这是控制台中显示的内容:
(5) ["9", "abcde", "abcde", "abcde", "↵ Edit … Delete ↵ "]
0: "9"
1: "abcde"
2: "abcde"
3: "abcde"
4: "↵ Edit ↵ Delete ↵ "
length: 5
__proto__: Array(0)
【问题讨论】:
-
你能发布 console.log(data) 的输出吗?
-
这是控制台中显示的内容:` (5) ["9", "abcde", "abcde", "abcde", "↵ Edit ... Delete ↵ "] 0: "9" 1 : "abcde" 2: "abcde" 3: "abcde" 4: "↵ Edit ↵ Delete ↵ " length: 5 proto: Array(0) `
-
你为什么要在控制器中重定向 return redirect('/crud'); ?这段代码使模态关闭,你想显示它,对吧?
-
我认为这不会影响模态,我用图片更新了问题来解释问题。请检查...谢谢
-
@account2020 当modal弹出并通过特定的id去检索数据时你怎么看?
标签: javascript php laravel bootstrap-modal crud