How to set dynamically the Ajax URL of a dataTable? How to set dynamically the Ajax URL of a dataTable? ajax ajax

How to set dynamically the Ajax URL of a dataTable?


SOLUTION 1

Use ajax.url() API method to set the URL that DataTables uses to Ajax fetch data.

$("#select_id").on("change", function(){    // set the ajax option value of the dataTable here according to the select's value    $('#table_tabl').DataTable()       .ajax.url(          "<?php  echo RP_SSP ?>server_processing_reservTables.php?param="           + encodeURIComponent(this.value)       )       .load();});

SOLUTION 2

Use ajax.data option to add or modify data submitted to the server upon an Ajax request.

var tbl = $('#table_tabl').DataTable({   // ... skipped other parameters ...   ajax: {      url: "<?php  echo RP_SSP ?>server_processing_reservTables.php",      data: function(d){         d.param = $('#select_id').val();      }   }});


I found it :

$("#salle_code").on("change", function(){                tbl.ajax.url("<?php  echo RP_SSP ?>server_processing_reservTables.php?salle_code="+$(this).val()).load();            });


Datatable Version : 1.10.0-beta.1 Using fnDraw to Redraw the table.

Sample code for using fndraw

$(document).ready(function() {  var oTable = $('#example').dataTable();  // Re-draw the table - you wouldn't want to do it here, but it's an example :-)  oTable.fnDraw();} );

Source

$(document).ready(function() {   var tbl = $('#table_tabl').DataTable({      responsive: true,      "oLanguage": {         "sUrl": "<?php  echo RP_LANG ?>fr_FR.txt",      },      "processing": true,      "serverSide": true,      "sAjaxSource": "<?php  echo RP_SSP ?>server_processing_reservTables.php", // I want to add a parmeter to it dynamically when a select element is selected       "aoColumnDefs": [{         "aTargets": [3],         "mData": 3,         "mRender": function(data, type, full) {            return '<div style="text-align:center;"><a href="RestaurantReservation/reserverTable/' + data + '" title="Réserver"><span class="mif-lock icon"></span></a></div>';         }      }],      "aLengthMenu": [         [10, 25, 50, 100, -1],         [10, 25, 50, 100, "Tout"]      ]   });   $("#select_id").change(function () {          var end = this.value;          var NTypSource = '<?php  echo RP_SSP ?>server_processing_reservTables?type='+end+'';          var oSettings = tbl.fnSettings();          oSettings.sAjaxSource  = NTypSource;          tbl.fnDraw();   });});