如何解决将数据放在文本框上编辑/更新模式Laravel
因此,我正在使用模式进行此操作,我想我能够做到,只是表中的数据未显示在模式的文本框中。我能够更新我的表,只是我希望所选行的数据显示在模式中。
所以它是这样的: enter image description here
这是我的观点:表格部分(view / crud / crud.blade.php)
import numpy as np
np.random.seed(0)
def to_obj(x):
res = np.empty((x.shape[0],),dtype = np.object_)
res[:] = [tuple(np.squeeze(e,0)) for e in np.split(x,x.shape[0],axis = 0)]
return res
a = np.random.randint(0,3,(10,23))
b = np.random.randint(0,15))
a,b = [x[:,np.lexsort(x[::-1])] for x in (a,b)]
print(np.concatenate((np.arange(a.shape[1])[None,:],a)),'\n\n',b,'\n')
a,b = [to_obj(x.T) for x in (a,b)]
print(np.searchsorted(a,b))
这是我的观点:模态部分(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
这是我的js(public / js / modal.js)
<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>
这是我的控制器:更新部分
$(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');
解决方法
你可以试试吗?
$(document).ready(function(){
var table = $('#dataTable').DataTable();
//display Edit Modal
$('.edit_btn').on('click',function(){
var id = $(this).parent().prev().prev().prev().prev().text();
var firstName = $(this).parent().prev().prev().prev().text();
var lastName = $(this).parent().prev().prev().text();
var course = $(this).parent().prev().text();
$('#firstName').val(firstName);
$('#lastName').val(lastName);
$('#course').val(course);
$('#editForm').attr('action','/crud/' + id);
$('#editModal').modal('show');
})
});
关闭它并再次单击其他记录时,可能需要重置模式形式。如果它是引导模式,则可以在此示例关闭时重置它:
// Clears modal form when is closed
$('#kt_modal_org').on('hidden.bs.modal',function(e) {
$(this).find('#org-form')[0].reset();
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。