【发布时间】:2019-08-27 15:58:26
【问题描述】:
您好,我已经使用 Laravel 数据表创建了 CRUD 界面。我也加入了一个行动专栏。如下
public function getJobs()
{
return datatables()->of(Jobs::latest()->get())
->addColumn('action', function ($jobs) {
$button = '<div class="btn-group btn-group-xs">';
$button .= '<button type="button" name="edit" id="' . $jobs->id . '" class="btn btn-primary btn-xs"><i class="fa fa-edit fa-fw"></i> Edit</button>';
$button .= '<button type="button" name="delete" id="' . $jobs->id . '" class="btn btn-danger btn-xs"><i class="fas fa-trash-alt"></i> Delete</button>';
$button .= '</div>';
return $button;
})
->rawColumns(['action'])
->make(true);
}
此代码运行良好,但现在我想使用 ajax 为这些按钮添加编辑和删除路由。我不能使用模型,因为这些表单有太多数据需要编辑,因此我使用单独的刀片文件来编辑数据。
我的路线:
Route::resource('jobs', 'JobsController');
Route::get('/jobs/destroy/', 'JobsController@destroy');
我的删除模型框:
<div id="confirmModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h2 class="modal-title">Confirmation</h2>
</div>
<div class="modal-body">
<h4 align="center" style="margin:0;">Are you sure you want to remove this job?</h4>
</div>
<div class="modal-footer">
<button type="button" name="ok_button" id="ok_button" class="btn btn-danger">OK</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
我的删除按钮的ajax代码:
$(document).on('click', '.delete', function(){
var job_id = $(this).attr('id');
$('#confirmModal').modal('show');
});
$('#ok_button').click(function(){
$.ajax({
url:"/jobs/destroy/"+job_id,
beforeSend:function(){
$('#ok_button').text('Deleting...');
},
success:function(data)
{
setTimeout(function(){
$('#confirmModal').modal('hide');
$('#jobsTable').DataTable().ajax.reload();
}, 2000);
}
})
});
我想知道如何为这些编辑和删除按钮分配路线。
【问题讨论】:
-
非常感谢您的建议。这样我就无法为这个删除操作使用模式框。我需要一个用于删除功能的模态框操作。我已经使用 href 设置了编辑功能。
-
好的,所以给按钮单击功能并在该功能的参数中传递 id。在脚本中定义和实现函数
-
谢谢这位朋友的建议。我的 Jquery 知识几乎没有。 :)。我几乎没有写过这段代码,因为我以前用它来做一些测试工作。但我会尽力测试你的方法。谢谢。
-
如果你想要代码,那么我可以更新你的答案