jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 如何将自定义参数传递给dataTables footerCallback大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在jQuery dataTables中为footerCallBACk添加一个定义参数.

这是我的代码的一部分:

oTableClient = $('#tbl_client').DataTable({
    "footerCallBACk": function(){
      dataTableFooterCallBACk('client');
     }
});
function dataTableFooterCallBACk(type,row,data,start,end,display) {
    var api = this.api(),data;

    if (type == 'client') {
        data = api.column(6,{page: 'current'}).data();
    } else {
        data = api.column(5,{page: 'current'}).data();
    }
}

但得到一个错误,

我哪里错了?

解决方法

您正尝试访问不存在的dataTable API.每个dataTable方法或回调都返回一个API或通过此上下文可访问的API,但如果要在自己的函数中操作this.api(),则必须自己传递它.您可以通过使apply()调用dataTableFooterCallBACk()来执行此操作:

footerCallBACk: function() {
  dataTableFooterCallBACk.apply(this,arguments)
}

现在您已将此传递给dataTableFooterCallBACk并可以访问API:

function dataTableFooterCallBACk(type,display) {
  //get first row trough the API
  console.log(this.api().row(0).data())
  //rest of passed arguments same as footerCallBACk()
  console.log(arguments)
}

演示 – > http://jsfiddle.net/95h3a8nw/

向参数添加额外的变量有点棘手,因为参数不是真正的数组,它没有原型方法,如push().此解决方法将起作用:

footerCallBACk: function() {
  var newArguments = Array.prototype.slice.call(arguments)
  newArguments.push('client')
  dataTableFooterCallBACk.apply(this,newArguments)
}

在dataTableFooterCallBACk()中,’client’现在被添加函数调用中的最后一个参数.查看更新的小提琴 – > @L_801_20@

大佬总结

以上是大佬教程为你收集整理的jquery – 如何将自定义参数传递给dataTables footerCallback全部内容,希望文章能够帮你解决jquery – 如何将自定义参数传递给dataTables footerCallback所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。