2016-12-05 2 views
0

Ich benutze Yajra Datatable, ich hatte ein Problem, wie der Titel sagte.Klicken Sie auf die Spalte, um anstelle der Schaltfläche Bearbeiten zu bearbeiten

hier ist mein Controller so weit:

public function makeActionButtonsForDatatable($model) 
{ 

    if ($model->employed_type == DriverEmployedType::PARTTIME) { 

     return '<a href="' . route('parttimeavailable.create', ['driver' => $model->id]) . '" 
        class="btn btn-default btn-xs"></span>Set Parttime 
       </a> 
       <a href="' . route('driver.edit', ['driver' => $model->id]) . '" 
        class="btn btn-primary btn-xs"><span class="fa fa-pencil"></span> Edit 
       </a> 
       <a id="delBtn" data-url="'.route('driver.destroy', ['driver' => $model->id]).'" 
        data-toggle="modal" data-target=" #modalDelete" data-title="Confirmation" data-table-name="#datatable" data-message="Do you want to delete this record?" 
        class="btn btn-danger btn-xs delete" > 
        <span class="fa fa-trash-o"></span> Delete 
       </a>'; 

    } 

    switch ($model->status) { 
     default: 
      return' 
       <a href="' . route('driver.edit', ['driver' => $model->id]) . '" 
        class="btn btn-primary btn-xs"><span class="fa fa-pencil"></span> Edit 
       </a> 
       <a id="delBtn" data-url="'.route('driver.destroy', ['driver' => $model->id]).'" 
        data-toggle="modal" data-target=" #modalDelete" data-title="Confirmation" data-table-name="#datatable" data-message="Do you want to delete this record?" 
        class="btn btn-danger btn-xs delete" > 
        <span class="fa fa-trash-o"></span> Delete 
       </a> 
      '; 
      break; 
    } 
} 

public function makeDatatable($obj) { 

    return Datatables::of($obj) 
    ->addColumn('action', function ($model) { 
      return $this->makeActionButtonsForDatatable($model); 
    }) 
    ->editColumn('full_name', function($model) { 
      return '<a href="' . route('driver.edit', ['driver' => $model->full_name]) . '"</a>'; 
    }) 
    ->editColumn('employed_type', function($model){ 
     return DriverEmployedType::getString($model->employed_type); 
    }) 
    ->make(true); 
} 

und hier ist meine Datentabelle Code so weit:

$(document).ready(function(){ 
    var datatable = $('#datatable').DataTable(
    { 
     dom: "lrtip", 
     responsive: true, 
     processing: true, 
     serverSide: true, 
     bSortCellsTop: true, 
     ajax: { 
      url: "{{ route('driver.list') }}", 
      data: { '_token' : '{{csrf_token() }}'}, 
      type: 'POST', 
     }, 
     columns: [ 
     { data: 'full_name', name: 'full_name', className: 'text-center', }, 
     { data: 'mobile', name: 'mobile', className: 'text-center', }, 
     { data: 'nric', name: 'nric', className: 'text-center', }, 
     { data: 'license', name: 'license', className: 'text-center', }, 
     { data: 'employed_type', name: 'employed_type', className: 'text-center', }, 
     { data: 'action', name: 'action', className: 'text-center', orderable: false, searchable: false }, 
     ], 
    }); 
}); 

Es ist nicht funktioniert hat, und nicht meine Vollername Spalte angezeigt werden soll. Ich will ist, sobald ich den Namen klicke, geht es, um Formular mit dieser Fahreridentifikation zu bearbeiten.

eine Idee?

+0

versuchen [x-editable] (https://vitalets.github.io/x-editable/) –

+0

das ist nicht was ich genau will. –

Antwort

1

Ich glaube, Sie <a> für fullname Spalte schließen verpasst haben, unter Code versuchen:

public function makeDatatable($obj) { 

    return Datatables::of($obj) 
    ->addColumn('action', function ($model) { 
      return $this->makeActionButtonsForDatatable($model); 
    }) 
    ->editColumn('full_name', function($model) { 
      return '<a href="' . route('driver.edit', ['driver' => $model->id]) . '">'. $model->full_name .'</a>'; 
    }) 
    ->editColumn('employed_type', function($model){ 
     return DriverEmployedType::getString($model->employed_type); 
    }) 
    ->make(true); 
} 

Lassen Sie mich wissen, wenn Sie immer noch die gleiche gegenüber!

+0

funktioniert es aber mit ID wie folgt: return ''. $model->full_name .''; btw vielen Dank :) –

+0

Ja, ich habe meine Antwort aktualisiert. Prost! –

Verwandte Themen