2016-04-11 29 views
2

uygulanan bu filtreleme fonksiyonu tüm tabloları filtrelerdatatables - filtre sadece bazı tablolar datatables ise

$.fn.dataTableExt.afnFiltering.push(function (oSettings, aData, iDataIndex)

var.

İki tablom var ve tablolardan birine uygulanacak filtreye ihtiyacım var.

Datatables'e, yalnızca table1 filtrelemeyi ve table2'u olduğu gibi bırakmak istediğimi nasıl bildiririm?

cevap

0

Ben bir cevap başka yerde bana yardımcı olduğu bulunmuştur:

https://stackoverflow.com/a/11545376/4896102

Sadece

//array with the tables IDs you want the filtering function to ignore 
var allowFilter = ['yourTableId1', 'youTableId2']; 

$.fn.dataTableExt.afnFiltering.push(function (oSettings, aData, iDataIndex) 
{ 
    // check if current table is part of the allow list 
    if ($.inArray(oSettings.nTable.getAttribute('id'), allowFilter) == -1) 
    { 
     // if not table should be ignored 
     return true; 
    } 
    //rest of the code 
    return false; 
}); 

Bu seferki benim için çalıştı işlevi içinde bu katma ve bir kullanabilmesidir dizi böylece filtreleme yaparken birden fazla tabloyu göz ardı edebilirsiniz.

0

API'nin DataTables .search() ve .draw() yöntemlerini kullanabilirsiniz. .dataTable() ve .DataTable(): Sadece 1.10+ DataTable içinde, tablo başlatmak için iki yol vardır bahsetmek istiyorum, online documentation

var dt1 = $('#table1').DataTable(); 
dt1.search('search text').draw(); 

Ayrıca zeyilname olarak fiddle

çalışma bkz Bkz. İkincisi, yukarıda kullandığım şey olan yeni API'yi döndürür. İlkini kullanırsanız, online documentation

1

'da belirtilen şekilde yeni API'yi yine de $(selector).dataTable().api() kullanarak alabilirsiniz. Bu parçacığı DataTables yaratıcısından öğrenin.

https://www.datatables.net/forums/discussion/16623/using-fn-datatableext-afnfiltering-push-to-filter-tables

$.fn.dataTableExt.afnFiltering.push(
    function(settings, aData, iDataIndex) { 
     if (settings.nTable.id === 'myTableId') { 
      // filter example 
     } else { 
      // ... 
     } 
    } 
); 

Sen filtrelemek istediğiniz tablonun id kontrol edebilirsiniz

. Bu resmi bir çözüm değil, ama işe yarıyor.

+0

Birkaç ayarlamayla çalışabilir gibi görünüyor. Bu cevabı benim için çalışmak üzere buldum: http://stackoverflow.com/a/11545376/4896102 –