- В моем проекте Laravel у меня есть таблица, в которой данные должны обновляться без перезагрузки страницы в определенной строке c с jquery. Данные должны быть обновлены в строке:
....
<tbody>
@foreach ($tasks as $task)
<tr>
<td>{{$task->id}}</th>
<td>{{$task->project_id}}</td>
<td>{{$task->t_title}}</td>
<td>
<a href="#" class="editbtn btn btn-success ">EDIT </a>
<a class="btn btn-success">DELETE </a> </td>
</tr>
@endforeach
Данные берутся оттуда для редактирования всплывающей формы:
<form id="editFormID">
<div class="modal-body">
@CSRF
{{method_field('PUT')}}
<input type="hidden" name="id" id="id">
<div class="form-group">
<label>Project ID</label>
<input type="text" name="project_id" id="project_id" class="form-control">
</div>
<div class="form-group">
<label>Title</label>
<input type="text" name="t_title" id="t_title" class="form-control" > ...
Данные берутся от 1 до 2 с помощью jquery:
$(document).ready(function () {
$('.editbtn').on('click', function() {
$('#studenteditmodal').modal('show');
$tr = $(this).closest('tr');
var data = $tr.children("td").map(function() {
return $(this).text();
}).get();
console.log(data);
$('#id').val(data[0]);
$('#project_id').val(data[1]);
$('#t_title').val(data[2]);
});
$('#editFormID').on('submit', function(e) {
e.preventDefault();
var id= $('#id').val();
$.ajax({
type: "PUT",
url: "/studentupdate/"+id,
data: $('#editFormID').serialize(),
success: function(response) {
console.log(response);
$('#studentEditModal').modal('hide');
alert("Data Updated");
},
error: function(error) {
console.log(error);
}
});
});
});
После отправки jquery обновляет данные в базе данных без перезагрузки страницы, но чтобы увидеть их в таблице I. нужно перезагрузить страницу.
Я бы хотел видеть данные в таблице без перезагрузки. Идея, вероятно, была бы такой:
После отправки -> Взять идентификатор из формы редактирования (2) -> Найти строку с этим идентификатором в таблице (1) -> и обновить ячейки project_id и t_title.
Как бы это реализовать?