#jquery #ajax #laravel #datatable
#jquery #ajax #laravel #datatable
Вопрос:
У меня есть кнопка «Добавить данные», при нажатии кнопки «добавить данные» количество данных в таблицах будет увеличиваться. но он не был загружен автоматически (все еще перезагружается вручную). как это сделать, если нажать кнопку «добавить данные» при автоматической перезагрузке таблиц данных?
<script>
$(function() {
$('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: '/krs/daftarPengajuan',
columns: [
{ data: 'kode_mk', name: 'kode_mk' },
{ data: 'nama_mk', name: 'nama_mk' },
{ data: 'jml_sks', name: 'jml_sks' },
{ data: 'semester', name: 'semester' },
{ data: 'action', name: 'action' }
]
});
});
</script>
Контроллер
$result = DB::table('matakuliah')
->leftJoin('kurikulum','matakuliah.kode_mk','=','kurikulum.kode_mk')
->where('matakuliah.kode_mk',$row->kode_mk)
->where('kode_jurusan',$jurusan)
->get();
return Datatables::of($result)
->addColumn('action', function ($row) {
$action = '<button class="btn btn-info btn-sm add-data" onClick="tambah_pengajuan(''.$row->kode_mk.'',''.$row->semester.'')"><i class="fas fa-plus-square"></i> Ambil</button>';
return $action;
})
->make(true);
Спасибо за время
Ответ №1:
Я думаю, вас интересует что-то вроде этого:
$(document).ready(function() {
var t = $('#users-table').DataTable({... // your datatable configuration
$('.add-data').on( 'click', function () {
t.row.add( [
'data',
'goes',
'in',
'each',
'<td>'
] ).draw( false );
} );
// Automatically add a first row of data
$('.add-data').click();
} );
Для получения дополнительной информации перейдите сюда.
Если вы заинтересованы в перезагрузке данных из API, вы можете сделать что-то вроде этого:
t.ajax.reload();
Чтобы узнать больше об этом, перейдите сюда.
Ответ №2:
Пожалуйста, проверьте приведенный ниже код:
<script>
$(function() {
var user_tbl = $('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: '/krs/daftarPengajuan',
columns: [
{ data: 'kode_mk', name: 'kode_mk' },
{ data: 'nama_mk', name: 'nama_mk' },
{ data: 'jml_sks', name: 'jml_sks' },
{ data: 'semester', name: 'semester' },
{ data: 'action', name: 'action' }
]
});
$('body').on('click', 'a', function() {
user_tbl.ajax.reload(null,false);
});
});
</script>