2011-02-11 22 views
148

Używam wtyczki jquery DataTables. Z ich dokumentacji:Czy istnieje sposób wyłączenia sortowania początkowego dla tabel jquery DataTables?

Jeśli sortowanie jest włączone, DataTables wykona sortowanie pierwszego przejścia podczas inicjalizacji. Możesz zdefiniować, w której kolumnie (kolumnach) jest sortowany, oraz kierunek sortowania z tą zmienną. Tablica aaSorting powinna zawierać tablicę dla każdej kolumny, która ma być sortowana, początkowo zawierająca indeks kolumny i ciąg kierunkowy ("asc" lub "desc").

Czy można włączyć sortowanie, ale wyłączyć sortowanie pierwszego przejścia przy inicjalizacji? Obecnie zajmuję się stroną początkowego serwera sortowania i potrzebuję funkcji sortowania, ale nie potrzebuję tej funkcji sortowania początkowego.

+0

Napisałeś błędnie DataTables z "datables", więc pomyliłem się patrząc na to najpierw – konyak

+0

@ChaseT. Wielkie dzięki za powiedzenie nam tego: P –

Odpowiedz

401

Dobrze znalazłem answer ustaw "aaSorting" do pustej tablicy:

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

nowsze wersje DataTables (> = 1.10) używać order opcję:

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

Nie masz pojęcia, jak bardzo cieszę się z tej odpowiedzi! Chciałbym tylko odzyskać kilka ostatnich godzin życia x/ – Jon

+2

Dzięki, zaoszczędzisz mi mnóstwo czasu. – AntonK

+4

Ta odpowiedź była bardzo pomocna, ale warto zauważyć potencjalne zamieszanie. Jeśli col 0 jest wstępnie posortowane asc i ten początkowy sortowanie jest wyłączone, wtedy gdy użytkownik kliknie najpierw w nagłówek col 0, będzie sortował w kolejności asc. Dla użytkownika wygląda na to, że nic się nie dzieje, ponieważ oczekują zamówienia. Drugie kliknięcie posortuje opis. Aby obejść ten problem, możesz ustawić 'asSorting: ['desc', 'asc']' w 'aoColumnDefs', aby pierwsze kliknięcie było sortowaniem desc. – tomfumb

4

W opcji DataTable umieścić to:

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

    }); 
}) 

Oto rozwiązanie: "aaSorting" [[2 ASC ']]

2 oznacza tabela sortowane według trzeciej kolumnie
asc w porządku rosnącym.

+7

Pytanie brzmiało, jak "wyłączyć wstępne sortowanie", a nie jak określić kolejną kolejność sortowania. Ta odpowiedź jest lepiej dopasowana do innego pytania. –

78

Według najnowszych docs API:

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

More Info

+13

+1 Najnowsze API .. –

+0

Dobra odpowiedź .... –

2

Spróbuj tego:

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

to rozwiąże problem.

+4

Wyłącza się na stałe. – Clayton

Powiązane problemy