2013-06-17 54 views
6

Tôi đang sử dụng bảng dữ liệu và thêm tùy chọn vào mã JS, các thay đổi hoạt động nhưng tôi tiếp tục nhận được cảnh báo bật lên. Làm thế nào tôi có thể ngừng cảnh báo?Cảnh báo Datatables (bảng id = 'ý tưởng'): không thể khởi tạo lại bảng dữ liệu

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

enter image description here

+0

+1 và câu trả lời là đây [LINK1] (http://stackoverflow.com/questions/13708781/datatables-warningtable-id-example-cannot-reinitialise-data-table/22603353#22603353) và [ Link2] (http://suvashblog.wordpress.com/2013/07/26/datatables-warningtable-id-example-cannot-reinitialise-data-table/) – RajeshKdev

Trả lời

7

Nếu bạn chỉ muốn để thoát khỏi hộp alert (ví dụ: "dừng lại được cảnh báo") thêm này như là dòng đầu tiên của $(document).ready của bạn:

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

Bây giờ, dữ liệu có thể hiển thị lỗi hiển thị là "lỗi không xác định: Cảnh báo về dữ liệu ..." trong bảng điều khiển thay vì hộp cảnh báo xấu xí.

Tuy nhiên, bạn gặp lỗi trong mã/dữ liệu của mình bất kể lỗi hiện được ném âm thầm.

Các lỗi "DataTables cảnh báo (bảng id = 'XXX'): yêu cầu tham số chưa biết 'XXX' từ nguồn dữ liệu cho hàng X" được nâng lên khi có sự không phù hợp giữa số lượng cột trong <table> và số cột trong dữ liệu.

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

Chèn

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

hoặc

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

Sẽ tái tạo chính xác lỗi mà. Vì vậy, kiểm tra dữ liệu của bạn một lần nữa ..

0

Cậu cư dữ liệu tự động? Sau đó, di chuyển tập lệnh của bạn sau khi dữ liệu được điền.

Cái gì đó như,

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

Bạn nên sử dụng "bDestroy": đúng prop để cư bảng trong bài lại

0

bạn nên sử dụng "bDestroy": đúng.

Thay thế một DataTable khớp với bộ chọn đã cho và thay thế bằng một trong đó có các thuộc tính của đối tượng khởi tạo mới được chuyển. Nếu không có bảng nào phù hợp với bộ chọn, thì DataTable mới sẽ được xây dựng như bình thường.

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

Ngoài ra hãy thử điều này trước khi tạo dữ liệu mới có thể hủy các đối tượng dữ liệu trước đó.

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