У меня есть следующий код:Серверный поиск Аякса, ждать до завершения ввода - Multi столы
$('.gerais').each(function(){
var daotable = $(this).data('dao');
x = $(this).DataTable({
serverSide: true,
ajax: {
url: $('body').data('url')+'gerais/ajax_list/'+daotable,
type: "POST"
},
buttons: {
dom: {
button: {
className: 'btn btn-default'
}
},
buttons: [
{
extend: 'copyHtml5',
text: "<i class=' icon-copy3'></i> Copiar"
},
{
extend: 'excelHtml5',
text: "<i class=' icon-file-excel'></i> Excel"
},
{
extend: 'pdfHtml5',
text: "<i class=' icon-file-pdf'></i> PDF"
},
{
extend: 'print',
text: '<i class="icon-printer"></i> Imprimir'
}
],
}
});
});
$('.dataTables_filter input[type=search]').attr('placeholder','Pesquisar...')
.unbind()
.bind('input', function(e){
var item = $(this);
searchWait = 0;
if(!searchWaitInterval) searchWaitInterval = setInterval(function(){
if(searchWait >= 3){
clearInterval(searchWaitInterval);
searchWaitInterval = '';
searchTerm = $(item).val();
x[z].search(searchTerm).draw(); // change to new api
searchWait = 0;
}
searchWait++;
},200);
});
Эта часть кода отвечает за цикл, создавать таблицы данных на моей странице, то есть класс ".gerais":
$('.gerais').each(function(){
var daotable = $(this).data('dao');
x = $(this).DataTable({
serverSide: true,
ajax: {
url: $('body').data('url')+'gerais/ajax_list/'+daotable,
type: "POST"
},
buttons: {
dom: {
button: {
className: 'btn btn-default'
}
},
buttons: [
{
extend: 'copyHtml5',
text: "<i class=' icon-copy3'></i> Copiar"
},
{
extend: 'excelHtml5',
text: "<i class=' icon-file-excel'></i> Excel"
},
{
extend: 'pdfHtml5',
text: "<i class=' icon-file-pdf'></i> PDF"
},
{
extend: 'print',
text: '<i class="icon-printer"></i> Imprimir'
}
],
}
});
});
И это один отвечает задержкой по поиску
$('.dataTables_filter input[type=search]').attr('placeholder','Pesquisar...')
.unbind()
.bind('input', function(e){
var item = $(this);
searchWait = 0;
if(!searchWaitInterval) searchWaitInterval = setInterval(function(){
if(searchWait >= 3){
clearInterval(searchWaitInterval);
searchWaitInterval = '';
searchTerm = $(item).val();
x[z].search(searchTerm).draw(); // change to new api
searchWait = 0;
}
searchWait++;
},200);
});
Это работает WEL l только для одной таблицы, но у меня 3 таблицы, и она работает только с последней.
Я уже пытался преобразовать «х» в массив, и это не сработало.
Это делают в DataTables плагинов – Space
И я удалил де «[г]» на «х [г] .search (.....» – Space
«привязывать» устарела. – Bindrid