2011-09-13 16 views
8

Sto utilizzando il plug-in Datatable jquery. Il codice di inizializzazione è come sottojQuery dataTable reload from new ajax source

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

che viene sparato su clic di un button.Now sullo scatto di quel tasto ancora una volta voglio ottenere il DataTable con un URL diverso. Ho provato a utilizzare senza successo. Si prega di suggerire.

if (typeof obj == 'undefined') { 

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

} 

risposta

9

Penso che quello che vi serve è fnReloadAjax(). Si dovrebbe usare in questo modo:

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

var newUrl = "new.php"; 

oTable.fnReloadAjax(newUrl); 
+0

Questo non collega più ... non si può trovare nella documentazione ... –

+0

stesso problema tuo metodo non funziona per me, http : //stackoverflow.com/questions/26246666/datatables-fnreloadajax-is-not-working-properly. Ho letto i documenti, so che dovrebbe funzionare ma non capisco perché non funziona per me .. –

3

Prova con questo link:. http://datatables.net/reference/api/ajax.url()

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

o come ho fatto io se la tabella non è un oggetto DataTable:...

$ ('# IDtabella') DataTable() ajax.url ("newUrl") load();

0

questo ha lavorato per la versione 1.10:

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