2013-06-17 10 views
6

Używam tabel danych i dodawanie opcji do kodu JS, zmiany działają, ale wciąż otrzymuję ostrzeżenie wyskakujące. Jak mogę zatrzymać ostrzeżenie?Ostrzeżenie o danych (identyfikator tabeli = "pomysły"): nie można ponownie zainicjować tabeli danych

$(document).ready(function() { 
    $('#ideas').dataTable({ 
     "aLengthMenu": [[5, 10, 15, -1], [5, 10, 50, "All"]] 
    }); 
}); 

enter image description here

+0

+1 i odpowiedzi są tutaj [LINK1] (http://stackoverflow.com/questions/13708781/datatables-warningtable-id-example-cannot-reinitialise-data-table/22603353#22603353) i [ Link2] (http://suvashblog.wordpress.com/2013/07/26/datatables-warningtable-id-example-cannot-reinitialise-data-table/) – RajeshKdev

Odpowiedz

7

Jeśli chcesz po prostu pozbyć oknie alertu (na przykład "stop ostrzeżenie") dodać to jako pierwsza linia swojej $(document).ready:

$.fn.dataTableExt.sErrMode = 'throw'; 

Teraz datatables rzuci błąd widoczny jako "nieprzechwycony błąd: Ostrzeżenie o plikach danych ..." w konsoli zamiast brzydkiego alertu.

Występuje jednak błąd w kodzie/danych, niezależnie od tego, czy błąd jest teraz generowany w trybie cichym.

Błąd „DataTables ostrzegawcze (tabela id =«XXX»): żądana brak parametru«XXX»od źródła danych do rzędu X” podnosi się, gdy występuje niedopasowanie pomiędzy liczbą kolumn w <table> i liczba kolumn w danych.

<thead> 
    <th>col A</th> 
    <th>col B</th> 
</thead> 

Wkładanie

<tr> 
    <td>test test</td> 
</tr> 

lub

<tr> 
    <td colspan="2">test test</td> 
</tr> 

Czy dokładnie odtworzyć tego błędu. Więc zbadać swoje dane ponownie ..

0

Czy wypełnić dynamicznie dane? Następnie przenieś skrypt po zapełnieniu danych.

Coś,

$(document).ready(function() { 
    $('#example').dataTable({ 
     "bProcessing": true, 
     "sAjaxSource": "sources/arrays.txt", 
     "aLengthMenu": [[5, 10, 15, -1], [5, 10, 50, "All"]] 
    }); 
}); 
1

Należy użyć „bDestroy”: true rekwizyt, aby wypełnić tabelę podczas postu powrotem

0

należy użyć „bDestroy”: true.

Zamień DataTable, która odpowiada danemu selektorowi i zastąp go DataTable, który ma właściwości nowego obiektu inicjalizacyjnego przekazanego. Jeśli żadna tabela nie pasuje do selektora, nowa DataTable zostanie skonstruowana zgodnie z normą.

$(document).ready(function() { 
    $('#ideas').dataTable({ 
     "aLengthMenu": [[5, 10, 15, -1], [5, 10, 50, "All"]], 
     "bDestroy": true 
    }); 
}); 

Spróbuj również przed utworzeniem nowego elementu datatable, który niszczy poprzednie obiekty danych.

$(document).ready(function() { 
    $("#ideas").dataTable().fnDestroy(); 
    $('#ideas').dataTable({ 
     "aLengthMenu": [[5, 10, 15, -1], [5, 10, 50, "All"]] 
    }); 
}); 
Powiązane problemy