我在laravel中使用yajra数据表,我有一个显示模态的"revistar"按钮(如下图所示(:
模式显示
我想用数据库的"详细信息"字段中的信息填充这个文本区域,这些信息对于数据表的每一项都明显不同,您将如何获得这些数据?我想过从partials.actions的变量中获取它,我可以从数据表的控制器发送该变量,但我无法在blade视图中获取该变量。
我的部分。活动视图:
<a href="{{ route('tareas.createfrom', Hashids::encode($id)) }}" class="btn btn-sm btn-success">
<i class="fas fa-fw fa-plus"></i>
Tarea
</a>
<a href="{{ route('solicituds.show', Hashids::encode($id)) }}" class="btn btn-sm btn-info">
<i class="fas fa-fw fa-eye"></i>
Ver
</a>
<button type="button" data-id="{{ $id }}" data-toggle="modal" data-target="#RevisaSolicitudModal" class="btn btn-warning btn-sm revisar" id="getActualizaId">
<i class="fas fa-fw fa-check-circle"></i>
Revisar
</button>
<button type="button" data-id="{{ $id }}" data-toggle="modal" data-target="#DeleteProductModal" class="btn btn-danger btn-sm" id="getDeleteId">
<i class="fas fa-fw fa-trash"></i>
Eliminar
</button>
也许我可以使用JS在模态中获得变量"$detail",我不知道
检查引导程序文档:https://getbootstrap.com/docs/4.4/components/modal/#varying-模态内容
<button type="button" data-id="{{ $id }}" data-toggle="modal" data-target="#RevisaSolicitudModal" class="btn btn-warning btn-sm revisar" id="getActualizaId">
<i class="fas fa-fw fa-check-circle"></i>
Revisar
</button>
<script>
$('#exampleModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget) // Button that triggered the modal
var id = button.data('id') // Extract info from data-* attributes
...
})
</script>
我的方法行之有效:
1.控制器:
return YajraDataTablesDataTables::of($trxDatatables)
->addIndexColumn()
->addColumn('action', function($row){
$stEditRoute = route('admission.students.edit',$row->id);
$stShowRoute = route('admission.students.show',$row->id);
$btns = '<button class="btn btn-danger btn-xs
deleteModalTriggerBtn " id="deleteModalTriggerBtn"
data-catid='.$row->id.' data-toggle="modal"
data-target="#delete"><span class="glyphicon glyphicon-trash" title="Delete Center"/></button>';
return $btns;
})
->rawColumns(['action'])
->toJson();
Jquery:
$(document).ready(function () { // used the following technique so that I can use the custom attribute (data-catid) value of the trigger button (id="delete") when delete ajax is called. $(function() { var stId = null; function getCatId() { $('#delete').on('show.bs.modal', function (event) { var button = $(event.relatedTarget) // Button that triggered the modal var id = button.data('catid'); // Extract info from data-* attributes stId = id; }); } getCatId(); $('.modal-footer').on('click', '.delete', function(e) { e.preventDefault(); var token = $("meta[name='csrf-token']").attr("content"); var reason = $("#reason option:selected").text(); var notice = $("#notice").val(); $.ajax({ type: 'DELETE', url: 'http://yoursite.test/workplace/admission/students/'+stId, data: { 'id': stId, 'reason': reason, 'notice': notice, "_token": token, }, success: function (data) { // console.log(data); // $('.item' + $('.id').text()).remove(); } }); }); }); });