2011-02-11 1 views
148

Sto utilizzando il plug-in jquery DataTables. Dalla loro documentazione:C'è un modo per disabilitare l'ordinamento iniziale per jQuery DataTables?

Se l'ordinamento è abilitato, quindi DataTables eseguirà un ordinamento di primo passaggio all'inizializzazione. È possibile definire su quale colonna viene eseguito l'ordinamento e sulla direzione di ordinamento, con questa variabile. L'array aaSorting dovrebbe contenere una matrice per ogni colonna da ordinare inizialmente contenente l'indice della colonna e una stringa di direzione ('asc' o 'desc').

È possibile avere l'ordinamento abilitato ma disabilitare questo ordinamento di primo passaggio sull'inizializzazione? Attualmente sto facendo il lato del server di ordinamento iniziale e ho bisogno di funzionalità di ordinamento, ma non ho bisogno di questa funzionalità di ordinamento iniziale.

+0

Hai errato DataTable con 'i datables', quindi mi sono confuso guardando questo in un primo momento – konyak

+0

@ChaseT. grazie mille per avermelo detto: P –

risposta

401

Beh ho trovato il answer set "aaSorting" per un array vuoto:

$(document).ready(function() { 
    $('#example').dataTable({ 
     /* Disable initial sort */ 
     "aaSorting": [] 
    }); 
}) 

Per le versioni più recenti di DataTable (> = 1.10) utilizzare order opzione:

$(document).ready(function() { 
    $('#example').dataTable({ 
     /* No ordering applied by DataTables during initialisation */ 
     "order": [] 
    }); 
}) 
+43

Non hai idea di quanto sono contento di vedere questa risposta! Spero solo di poter riavere le ultime ore della mia vita x/ – Jon

+2

Grazie, mi hai risparmiato un sacco di tempo. – AntonK

+4

Questa risposta è stata di grande aiuto, ma vale la pena notare la potenziale confusione causata. Se col 0 è pre-ordinato asc e questo ordinamento iniziale è disabilitato, quando un utente clicca per prima sull'intestazione di col 0, ordinerà in ordine asc. Per l'utente sembra che non accada nulla, in quanto si aspettano un ordine di discesa. Un secondo clic ordinerà desc. Per aggirare questo problema è possibile impostare 'asSorting: ['desc', 'asc']' in 'aoColumnDefs' in modo che il primo clic sia un ordinamento desc. – tomfumb

4

Opzioni DataTable mettere questo:

$(document).ready(function() { 
    $('#example').dataTable({ 
    "aaSorting": [[ 2, 'asc' ]], 
    //More options ... 

    }); 
}) 

ecco la soluzione: "aaSorting": [[2, 'asc']],

2 significa tabella verranno ordinati per terza colonna,
asc in ordine crescente.

+7

La domanda era come "disabilitare l'ordinamento iniziale", non come specificare un altro ordinamento. Questa risposta è più adatta a una domanda diversa. –

78

Secondo ultimi documenti API:

$(document).ready(function() { 
    $('#example').dataTable({ 
     "order": [] 
    }); 
}); 

More Info

+13

+1 Ultima API .. –

+0

Risposta piacevole .... –

2

Prova questa:

$(document).ready(function() { 
    $('#example').dataTable({ 
    "order": [] 
    }); 
}); 

questo risolverà il vostro problema.

+4

Disattiva definitivamente. – Clayton