将数据从数据表添加到laravel中的模式

问题描述

西班牙语版本使我失败了,所以我在这里测试我的运气

我有以下代码,我想知道如何将数据从表传递到模式

这是我在edit.blade.php中的代码。模态确实可以工作,但是我不知道如何使数据显示在模态中,我自己将POST到数据库,但是我只想知道如何显示数据以便编辑。 / p>

我想在模式中显示的数据是id,名称和电子邮件。

这是我在editar.blade.php中的代码

<script src="{{ url('/js/vendor/jquery-1.12.4.min.js') }} "></script>
<script src="{{ url('/js/bootstrap.min.js') }} "></script>
<link rel="stylesheet" href="{{ url('/css/bootstrap.min.css') }} ">
<script src="{{ url('/js/jquery.dataTables.min.js') }} "></script>
<div class="container">
  <h2>Editar estudiante</h2>

<div class="container">
               <h2>Laravel DataTables Tutorial Example</h2>
               <table id="user_table" class="table table-bordered table-striped">
     <thead>
      <tr>
                <th width="35%" id="name">Name</th>
                <th width="35%" id="email">Email</th>
                <th width="30%">Action</th>
      </tr>
     </thead>
    </table>
</div>

<div class="modal fade" id="edit-modal" tabindex="-1" role="dialog" aria-labelledby="edit-modal-label" aria-hidden="true">
  <div class="modal-dialog modal-lg" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="edit-modal-label">Edit Data</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body" id="attachment-body-content">
        <form id="edit-form" class="form-horizontal" method="POST">
          <div class="card text-white bg-dark mb-0">
            <div class="card-header">
              <h2 class="m-0">Edit</h2>
            </div>
            <div class="card-body">
              <!-- id -->
                <input type="hidden" name="modal-input-id" class="form-control" id="modal-input-id" required>
              <!-- /id -->
              <!-- name -->
              <div class="form-group">
                <label class="col-form-label" for="modal-input-name">Name</label>
                <input type="text" name="modal-input-name" class="form-control" id="modal-input-name" required autofocus>
              </div>
              <!-- /name -->
              <!-- description -->
              <div class="form-group">
                <label class="col-form-label" for="modal-input-description">Email</label>
                <input type="text" name="modal-email" class="form-control" id="modal-input-email" required>
              </div>
              <!-- /description -->
            </div>
          </div>
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-primary" data-dismiss="modal">Done</button>
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>

<script type="text/javascript">
$(document).ready(function(){

  $('#user_table').DataTable({
  processing: true,serverSide: true,ajax: {
   url: "{{ route('getdata') }}",},columns: [
   {
    data: 'name',name: 'name',className: 'user-name',{
    data: 'email',name: 'email',className: 'user-email',{
    data: 'action',name: 'action',orderable: false
   }
  ]
 });

 $(document).on('click',"#edit-item",function() {
    //obtenemos la instancia de la fila
    $tr = $(this).closest('tr');
    
    //rellenamos los campos en el modal
    $('#modal-input-name').val($('user-name',$tr).text());
    
    $('#modal-input-email').val($('user-email',$tr).text());
    
    // Mostramos el modal
    $('#edit-modal').modal('show');
  })

  // on modal hide
  $('#edit-modal').on('hide.bs.modal',function() {
    $('.edit-item-trigger-clicked').removeClass('edit-item-trigger-clicked')
    $('#edit-form').trigger('reset');
  })


});
</script>

这是我在web.php中的获取路线

Route::get('/editar','AdminController@editar')->name('editar');

这是我的功能,用于将数据带入AdminController.php中的数据表

public function getPosts(Request $request)
{
    if($request->ajax()){
        $data = StudentModel::latest()->get();
        return DataTables::of($data)
                ->addColumn('action',function($data){
                    $button = '<button id="edit-item" type="button" name="edit-item" data-target-id="'.$data->id.'" class="edit btn btn-primary btn-sm" data-toggle="modal" data-target="edit-modal">Edit</button>';
                    $button .= '&nbsp;&nbsp;&nbsp;<button type="button" name="edit" data-target-id="'.$data->id.'" class="delete btn btn-danger btn-sm">Delete</button>';
                    return $button;
                })
                ->rawColumns(['action'])
                ->make(true);
    }
    return view('editar');
}

解决方法

你可以试试吗?

   $('#modal-input-name').val($tr.find('td.user-name').text());

   $('#modal-input-email').val($tr.find('td.user-email').text());

我还建议您使用css class来定位点击事件,因为Id通常是唯一标识符,通过这样做您会发现具有相同Id的表格行,这违反了最初的想法。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...