Datatables中文API——回调函数

本文深入解析Datatables插件中各种回调函数的用途与实现方式,并通过实例展示如何灵活运用这些回调函数进行数据展示和交互优化。

推荐是用ctrl+f查找使用,有写的不对的地方,也希望大家拍砖


更多datatables在http://dt.thxopen.com/ 欢迎大家来做客


fnCookieCallback:还没有使用过

  1. $(document).ready( function () {
  2.   $('#example').dataTable( {
  3.     "fnCookieCallback": function (sName, oData, sExpires, sPath) {
  4.       // Customise oData or sName or whatever else here
  5.       return sName + "="+JSON.stringify(oData)+"; expires=" + sExpires +"; path=" + sPath;
  6.     }
  7.   } );
  8. } );
fnCreatedRow:顾名思义,创建行得时候的回调函数
  1. $(document).ready( function() {
  2.   $('#example').dataTable( {
  3.     "fnCreatedRow": function( nRow, aData, iDataIndex ) {
  4.       // 为a的话字体加粗
  5.       if ( aData[4] == "A" )
  6.       {
  7.         $('td:eq(4)', nRow).html( '<b>A</b>' );
  8.       }
  9.     }
  10.   } );
  11. } );
复制代码
fnDrawCallback:draw画 ,这个应该是重绘的回调函数
  1. $(document).ready( function() {
  2.   $('#example').dataTable( {
  3.     "fnDrawCallback": function( oSettings ) {
  4.       alert( 'DataTables 重绘了' );
  5.     }
  6.   } );
  7. } );
fnFooterCallback:底部的回调函数,这个可以用来做总计之类的功能
  1. $(document).ready( function() {
  2.   $('#example').dataTable( {
  3.     "fnFooterCallback": function( nFoot, aData, iStart, iEnd, aiDisplay ) {
  4.       nFoot.getElementsByTagName('th')[0].innerHTML = "Starting index is "+iStart;
  5.     }
  6.   } );
  7. } )
fnFormatNumber:顾名思义,格式化数字的显示方式
  1. $(document).ready( function() {
  2.   $('#example').dataTable( {
  3.     "fnFormatNumber": function ( iIn ) {
  4.       if ( iIn < 1000 ) {
  5.         return iIn;
  6.       } else {
  7.         var
  8.           s=(iIn+""),
  9.           a=s.split(""), out="",
  10.           iLen=s.length;
  11.          
  12.         for ( var i=0 ; i<iLen ; i++ ) {
  13.           if ( i%3 === 0 && i !== 0 ) {
  14.             out = "'"+out;
  15.           }
  16.           out = a[iLen-i-1]+out;
  17.         }
  18.       }
  19.       return out;
  20.     };
  21.   } );
  22. } );
fnHeaderCallback:表头的回调函数
  1. $(document).ready( function() {
  2.   $('#example').dataTable( {
  3.     "fnHeaderCallback": function( nHead, aData, iStart, iEnd, aiDisplay ) {
  4.       nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
  5.     }
  6.   } );
  7. } )
fnInfoCallback:datatables信息的回调函数
  1. $('#example').dataTable( {
  2.   "fnInfoCallback": function( oSettings, iStart, iEnd, iMax, iTotal, sPre ) {
  3.     return iStart +" to "+ iEnd;
  4.   }
  5. } );
fnInitComplete:datatables初始化完毕后会调用这个方法
  1. $(document).ready( function() {
  2.   $('#example').dataTable( {
  3.     "fnInitComplete": function(oSettings, json) {
  4.       alert( 'DataTables 初始化完毕' );
  5.     }
  6.   } );
  7. } )
fnPreDrawCallback:每一次绘datatables时候调用的方法
  1. $(document).ready( function() {
  2.   $('#example').dataTable( {
  3.     "fnPreDrawCallback": function( oSettings ) {
  4.       if ( $('#test').val() == 1 ) {
  5.         return false;
  6.       }
  7.     }
  8.   } );
  9. } );
fnRowCallback:行的回调函数(所有行得回调函数)
  1. $(document).ready( function() {
  2.   $('#example').dataTable( {
  3.     "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
  4.       // 所有的a都加粗
  5.       if ( aData[4] == "A" )
  6.       {
  7.         $('td:eq(4)', nRow).html( '<b>A</b>' );
  8.       }
  9.     }
  10.   } );
  11. } );
fnServerData:这个是结合服务器模式的回调函数,用来处理服务器返回过来的数据
  1. // POST data to server
  2. $(document).ready( function() {
  3.   $('#example').dataTable( {
  4.     "bProcessing": true,
  5.     "bServerSide": true,
  6.     "sAjaxSource": "xhr.php",
  7.     "fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
  8.       oSettings.jqXHR = $.ajax( {
  9.         "dataType": 'json',
  10.         "type": "POST",
  11.         "url": sSource,
  12.         "data": aoData,
  13.         "success": fnCallback
  14.       } );
  15.     }
  16.   } );
  17. } );
fnServerParams:向服务器传额外的参数
  1. $(document).ready( function() {
  2.   $('#example').dataTable( {
  3.     "bProcessing": true,
  4.     "bServerSide": true,
  5.     "sAjaxSource": "scripts/server_processing.php",
  6.     "fnServerParams": function ( aoData ) {
  7.       aoData.push( { "name": "more_data", "value": "my_value" } );
  8.     }
  9.   } );
  10. } );
fnStateLoad:读取状态的回调函数
  1. $(document).ready( function() {
  2.   $('#example').dataTable( {
  3.     "bStateSave": true,
  4.     "fnStateLoad": function (oSettings) {
  5.       var o;
  6.        
  7.       
  8. //发送一个异步请求给服务器来返回数据
  9.       //这是个同步的发送
  10.       $.ajax( {
  11.         "url": "/state_load",
  12.         "async": false,
  13.         "dataType": "json",
  14.         "success": function (json) {
  15.           o = json;
  16.         }
  17.       } );
  18.        
  19.       return o;
  20.     }
  21.   } );
  22. } );
fnStateLoadParams:和上面的不知道什么区别,没用过
  1. // Remove a saved filter, so filtering is never loaded
  2. $(document).ready( function() {
  3.   $('#example').dataTable( {
  4.     "bStateSave": true,
  5.     "fnStateLoadParams": function (oSettings, oData) {
  6.       oData.oSearch.sSearch = "";
  7.     }
  8.   } );
  9. } );


  10. // Disallow state loading by returning false
  11. $(document).ready( function() {
  12.   $('#example').dataTable( {
  13.     "bStateSave": true,
  14.     "fnStateLoadParams": function (oSettings, oData) {
  15.       return false;
  16.     }
  17.   } );
  18. } );
fnStateLoaded:又是这个,加了ed 不知道意思没用过
  1. // Show an alert with the filtering value that was saved
  2. $(document).ready( function() {
  3.   $('#example').dataTable( {
  4.     "bStateSave": true,
  5.     "fnStateLoaded": function (oSettings, oData) {
  6.       alert( 'Saved filter was: '+oData.oSearch.sSearch );
  7.     }
  8.   } );
  9. } );
fnStateSave:状态储存
  1. $(document).ready( function() {
  2.   $('#example').dataTable( {
  3.     "bStateSave": true,
  4.     "fnStateSave": function (oSettings, oData) {
  5.       // Send an Ajax request to the server with the state object
  6.       $.ajax( {
  7.         "url": "/state_save",
  8.         "data": oData,
  9.         "dataType": "json",
  10.         "method": "POST"
  11.         "success": function () {}
  12.       } );
  13.     }
  14.   } );
  15. } );
fnStateSaveParams :状态储存参数,没用过,不明白
  1. // Remove a saved filter, so filtering is never saved
  2. $(document).ready( function() {
  3.   $('#example').dataTable( {
  4.     "bStateSave": true,
  5.     "fnStateSaveParams": function (oSettings, oData) {
  6.       oData.oSearch.sSearch = "";
  7.     }
  8.   } );
  9. } );
'[IT18掌www.it18zhang.com]001.Hadoop基础篇.pptx' '[IT18掌www.it18zhang.com]014.Hadoop Win7开启网络访问.pptx' '[IT18掌www.it18zhang.com]Kafka.pptx' '[IT18掌www.it18zhang.com]002.VMware下载与安装.pptx' '[IT18掌www.it18zhang.com]015.Hadoop 架构分析.pptx' '[IT18掌www.it18zhang.com]KVM.pptx' '[IT18掌www.it18zhang.com]003.Ubuntu下载与虚拟机下安装.pptx' '[IT18掌www.it18zhang.com]016.Hadoop 架构分析之启动脚本分析.pptx' '[IT18掌www.it18zhang.com]Scala.pptx' '[IT18掌www.it18zhang.com]004.Ubuntu常用命令.pptx' '[IT18掌www.it18zhang.com]017.Hadoop 架构分析之启动脚本总结.pptx' '[IT18掌www.it18zhang.com]Spark Graph编程指南.pptx' '[IT18掌www.it18zhang.com]005.Ubuntu目录与权限.pptx' '[IT18掌www.it18zhang.com]018.Hadoop MapReduce初识.pptx' '[IT18掌www.it18zhang.com]Spark SQL DataFrame Dataset编程指南.pptx' '[IT18掌www.it18zhang.com]006.Ubuntu软件包桌面与增强工具.pptx' '[IT18掌www.it18zhang.com]019.Hadoop MapReduce原理.pptx' '[IT18掌www.it18zhang.com]Spark Streaming编程指南.pptx' '[IT18掌www.it18zhang.com]007.Ubuntu本地软件源与iso制作.pptx' '[IT18掌www.it18zhang.com]019.Hadoop YARN事件分发原理.pptx' '[IT18掌www.it18zhang.com]Spark编程指南.pptx' '[IT18掌www.it18zhang.com]008.Ubuntu虚拟机克隆与Mac地址生成与网络连接方式.pptx' '[IT18掌www.it18zhang.com]020.Hadoop HDFS.pptx' '[IT18掌www.it18zhang.com]Spark编译运行处理.pptx' '[IT18掌www.it18zhang.com]009.Hadoop-Ubuntu下JDK与Hadoop安装配置.pptx' '[IT18掌www.it18zhang.com]021.Hadoop HDFS CLI.pptx' '[IT18掌www.it18zhang.com]Spark基础.pptx' '[IT18掌www.it18zhang.com]010.Hadoop配置-独立与伪分布式模式.pptx' '[IT18掌www.it18zhang.com]Ambari Hadoop集群管理工具.pptx' '[IT18掌www.it18zhang.com]Spark调优.pptx' '[IT18掌www.it18zhang.com]011.Hadoop配置-完全分布式模式.pptx' '[IT18掌www.it18zhang.com]Avro.pptx' '[IT18掌www.it18zhang.com]ZooKeeper.pptx' '[IT18掌www.it18zhang.com]012.Hadoop Windows下免Cygwin伪分布安装
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值