2012-03-31 11 views
19

Voglio usare la funzione filtro di DataTables, ma non voglio usare la loro casella di ricerca con esso.Filter dataTables.net senza ingresso filtro incluso

In their docs sotto bfilter dice:

Si noti che se si desidera utilizzare il filtro in DataTable questo deve rimanere 'vera' - per rimuovere la finestra di input filtro predefinito e mantenere il filtraggio abilità, si prega di utilizzare

dopo di che la frase viene lasciata incompleta.

ho provato:

var oTable = $('#sortable').dataTable({ 
    'bPaginate':false, 
    'bInfo':false, 
    'bFilter': true // displays Search box, setting false removes filter ability all together 
}); 
$('#Accumulate').click(function(){ 
    oTable.fnFilter("Accumulate"); 
}); 

risposta

20

È inoltre possibile nascondere sta utilizzando classe CSS

<style type="text/css"> 
.dataTables_filter { 
    display: none; 
} 
</style> 
+1

Aha, semplice e veloce. Grazie. – Pratyush

+0

Sì, benvenuto. – Daniel

+4

sDom è anche semplice e veloce. ;-) E non cambierà il CSS per altre tabelle che potrebbero utilizzare la casella di ricerca. Sicuramente non "acini d'uva" qui, ma onestamente sento che escludere la casella di ricerca usando gli strumenti forniti è una soluzione "migliore" che includerla e quindi nasconderlo. –

12

Pratyush,

pura rappresentazione estetica e occultamento di diversi elementi dell'interfaccia utente è fatto con il parametro Sdom:

http://datatables.net/usage/options#sDom

Si noti che la sintassi richiesta è diverso a seconda che tu stia usando l'interfaccia utente di jQuery o meno.

+1

Ho appena guardato la documentazione Sdom e direi che è tutt'altro che "semplice". In effetti, non aveva senso per me. Nascondere tramite CSS è molto semplice e veloce, anche se forse non è il metodo ottimale. – dmikester1

+0

concordato; non è semplice Mi ci sono voluti più di qualche tentativo per farlo bene per le mie applicazioni. Tuttavia, penso che il tempo investito nel "farlo" ripaghi; Sarai quindi in grado di modificare i componenti invece di modificare il CSS. –

12

Usa (potenzialmente accelerare l'inizializzazione datatable come evitare alcuni calcoli):

$("#table").dataTable({"bFilter": false}); 

o qualsiasi Sdom senza f opzione (fare riferimento ai documenti ufficiali per l'elenco delle opzioni disponibili):

$("#table").dataTable({"sDom": '...t...'}); 

Cercare stesse opzioni sul sito ufficiale di supporto: http://datatables.net/forums/discussion/289/disable-search-filter-text-box

+1

Grazie per aver lavorato per me .... –

3
"sDom": 'ltipr' 

è il più semplice dei modi per farlo.

esempio completo che ho usato:

oTable = $('#overview').dataTable(

     { 
      "aoColumns":[ 
           null, 
           null, 
           null, 
           null, 
           null, 
           { "sSortDataType":"date-euro"}, 
           { "sSortDataType":"date-euro",}, 
           null 
       ], 
       "aaSorting":[], 
       "iDisplayLength": -1, 
       "aLengthMenu": [[5, 10, 25, 50, -1], [5, 10, 25, 50, "All"]], 
       "sDom": 'ltipr' 

     } 
     ); 
+0

Ciao Andrew, ci proverò, ma sono curioso di sapere che cosa significa 'ltipr' e se potresti aggiungere del colore a come questo rende il filterbox nascosto? Grazie in anticipo! – Poul

+0

Ciao Poul, ecco come segue: 'l' - Lunghezza variabile 'f' - Ingresso filtro 't' - La tabella! 'i' - Informazioni 'p' - Impaginazione 'r' - pRocessing se si lascia la f per esempio non mostrerà il filtro –