如何使用laravel中的datatable获取模态中的变量



我在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();
  1. 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();
    }
    });
    });
    });
    });
    

最新更新