数据表-动态发送参数

TCS

我创建了如下的数据表;

var costtable = $('#productcategories').DataTable({
    "responsive": true,
    "processing": true,
    "serverSide": true,
    "deferRender": true,
    "ajax": "{{ route('product-json') }}?{!! \Request::getQueryString() !!}",
.....

我需要使用动态操作添加/更改一些参数。喜欢;

$('body').on('change', '.blabla', function(){
var val = $(this).val();
costtable.addparameter('blabla', val);
});

我怎样才能实现呢?我将在后端使用该参数。

安德鲁杰姆斯

而不是像这样使用DataTables选项字符串形式ajax...

"ajax": "your_url_here"

...您可以使用语法对象形式:

"ajax": {
  "url": "your_url_here",
  "data": extraRequestParams
}

根据问题,您需要构造的对象将是:

extraRequestParams = { user_id: "some_value" }

...其中值是您从中填充的值var val = $(this).val();

此数据将添加到DataTables自动生成以支持服务器端处理的请求数据中:

draw=1&...&start=0&length=25&user_id=some_value

为了使您的onchange事件触发ajax调用,您将需要引用DataTable-因此,如下所示:

var extraRequestParams = {};

$('body').on('change', '.blabla', function(){
  var val = $(this).val();
  extraRequestParams = { user_id: val };
  costtable.ajax.reload();
});

假设costtable已定义为您的DataTable:

var costtable = $('#example').DataTable( { ... } );

请参阅ajax.reload()以供参考。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章