2010-03-06 4 views
3

sur ma page j'ai dataTable, qui a été initialisé avec, par exemple, sAjaxSource url comme "/ api/reports". quand nous faisons du tri, le filtrage est ajouté à l'url d'autres clés de requête. Je veux ajouter les clés "date_from" et "date_to" à l'URL sAjaxSource (les intervalles de date peuvent être modifiés après l'initialisation de la table). est-il une fonction point d'entrée, avant rechargement de table, donc je peux y faire SMTH comme:jquery plugin dataTables: modifier dynamiquement ajaxSource

var oSettings = rtbl.fnSettings(); 
oSettings.sAjaxSource = "/api/reports/?type=sites&date_from=" + $("#date_from").text() + "&date_to=" + $("#date_to").text(); 

Merci pour votre aide!

Répondre

2

La bonne façon de le faire pour utiliser la fonction fnServerParams de datatables, lors de la création de la table:

fnServerParams: function(aoData) { 
       aoData.push({ name: "type", value: 'sites' }); 
       aoData.push({ name: "date_from", value: $("#date_from").text() }); 
       aoData.push({ name: "date_to", value: $("#date_to").text() }); 
      } 
3

donc, je l'ai résolu, par côté, tout à fait factice, façon:

function set_sAjaxSource(){ 
       var oSettings = rtbl.fnSettings(); 
       oSettings.sAjaxSource = "/api/reports/?type=sites&date_from=" + $("#date_from").val() + "&date_to=" + $("#date_to").val(); 
      } 

      $('.sorting').bind('click', set_sAjaxSource) 
      $('.sorting_asc').bind('click', set_sAjaxSource) 
      $('.sorting_desc').bind('click', set_sAjaxSource) 
      $('.sorting_desc').bind('click', set_sAjaxSource) 
      $('.paginate_button').bind('click', set_sAjaxSource) 
      $('.sorting_active').bind('click', set_sAjaxSource) 
Questions connexes