2011-09-13 22 views
8

Estoy usando el plugin jquery Datatable. El código de inicio es como a continuaciónjQuery dataTable reload from new ajax source

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

el que es despedido de clic de un button.Now el clic de nuevo ese botón que desea obtener el dataTable con una URL diferente. He intentado usar sin éxito. Sugiero.

if (typeof obj == 'undefined') { 

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

} 

Respuesta

9

Creo que lo que necesita es fnReloadAjax(). Usted debe utilizar de esta manera:

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

var newUrl = "new.php"; 

oTable.fnReloadAjax(newUrl); 
+0

Esto no vincula nunca más ... no lo encuentra en la documentación ... –

+0

mismo problema que su método no funciona para mí, http : //stackoverflow.com/questions/26246666/datatables-fnreloadajax-is-not-working-properly. He leído los documentos, sé que debería funcionar, pero no entiendo por qué no funciona para mí ... –

3

prueba con este enlace:. http://datatables.net/reference/api/ajax.url()

var tabla = $ ('# ejemplo') DataTable ({ ajax: "data.json"}) ;
table.ajax.url ('newData.json') .load();

o como lo hice si la tabla no es un objeto dataTable:...

$ ('# tableId no') DataTable() ajax.url ("NEWURL") load();

0

Esto funcionó para la versión 1.10:

oTable.ajax.url("new_source_file.php"); 
    oTable.draw();