2011-09-13 37 views
8

Tôi đang sử dụng plugin jquery Datatable. Mã init giống như bên dướiDữ liệu jQueryNhập lại từ nguồn ajax mới

$('#Table').dataTable({ 
    "sAjaxSource": url 
    ... 
    ... 
}); 

được kích hoạt khi nhấp vào nút. Khi nhấp lại vào nút đó, tôi muốn lấy DataTable với một url khác. Tôi đã thử sử dụng mà không thành công.Vui lòng đề xuất.

if (typeof obj == 'undefined') { 

    obj = $('#Table').dataTable({ 
    "sAjaxSource": url 
    ... 
    ... 
    }) 
}else 
{ 
    obj.fnClearTable(0); 
    obj.fnDraw(false); 

} 

Trả lời

9

Tôi nghĩ điều bạn cần là fnReloadAjax(). Bạn nên sử dụng nó như thế này:

var oTable = $('#Table').dataTable({ 
    "sAjaxSource": url 
    ... 
    ... 
}); 

var newUrl = "new.php"; 

oTable.fnReloadAjax(newUrl); 
+0

này không liên kết nữa ... không thể tìm thấy nó trong các tài liệu ... –

+0

cùng một vấn đề phương pháp của bạn không làm việc cho tôi, http : //stackoverflow.com/questions/26246666/datatables-fnreloadajax-is-not-working-properly. Tôi đọc tài liệu, tôi biết nó nên hoạt động nhưng tôi không hiểu tại sao nó không hoạt động cho tôi .. –

3

Hãy thử với liên kết này:. http://datatables.net/reference/api/ajax.url()

var bảng = $ ('# dụ') DataTable ({ ajax: "data.json"}) ;
table.ajax.url ('newData.json') .load();

hoặc như tôi đã làm nếu bảng không phải là một đối tượng DataTable:...

$ ('# tableId') DataTable() ajax.url ("NEWURL") tải();

0

này làm việc cho phiên bản 1.10:

oTable.ajax.url("new_source_file.php"); 
    oTable.draw(); 
Các vấn đề liên quan