我创建了如下的数据表;
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] 删除。
我来说两句