Как устранить ошибку «oTable.draw не является функцией» при фильтрации таблиц данных?Jquery

Программирование на jquery
Ответить
Anonymous
 Как устранить ошибку «oTable.draw не является функцией» при фильтрации таблиц данных?

Сообщение Anonymous »

У меня есть форма поиска над таблицами данных. Когда я пытаюсь выполнить поиск, я получаю данные в формате JSON, без фильтрации таблиц данных. Ошибка:


Неперехваченная ошибка типа: oTable.draw не является функцией


Вот JavaScript:

Код: Выделить всё

$(document).ready(function(){
var oTable = $('#surat').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{!! route("surat") !!}',
data: function (d) {
d.jenis_surat = $('input[name=jenis_surat]').val();
d.nomor_surat = $('input[name=nomor_surat]').val();
d.perihal = $('input[name=perihal]').val();
}
},
columns: [
{data: 'no', name: 'no'},
{data: 'jenis_surat', name: 'jenis_surat'},
{data: 'nomor_surat', name: 'nomor_surat'},
{data: 'perihal', name: 'perihal'},
{data: 'status', name: 'status'}
]
});

$('#search_form').on('submit', function(e) {
oTable.draw();
e.preventDefault();
});
});
А это контроллер:

Код: Выделить всё

public function carisuratdata(Request $request)
{
$surats = Surat::select(['id_surat', 'id_jenis_surat', 'nomor_surat','perihal', 'tanggal_surat', 'masa_berlaku_from', 'masa_berlaku_to', 'ringkasan', 'tag', 'id_publish', 'tanggal_publish'])->get();

return Datatables::of($surats)
->filter(function ($instance) use ($request) {
if ($request->has('jenis_surat')) {
$instance->collection = $instance->collection->filter(function ($row) use ($request) {
return Str::contains($row['jenis_surat'], $request->get('jenis_surat')) ? true : false;
});
}

if ($request->has('nomor_surat')) {
$instance->collection = $instance->collection->filter(function ($row) use ($request) {
return Str::contains($row['nomor_surat'], $request->get('nomor_surat')) ? true : false;
});
}
if ($request->has('perihal')) {
$instance->collection = $instance->collection->filter(function ($row) use ($request) {
return Str::contains($row['perihal'], $request->get('perihal')) ? true : false;
});
}
})

->make(true);

}
Вот JSON:

Изображение


Подробнее здесь: https://stackoverflow.com/questions/371 ... datatables
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»