jquery dataTable 参数详解

http://www.360doc.com/content/15/0108/14/8790037_439143305.shtml

 

 

Js代码   收藏代码
  1.    1 //@translator codepiano  
  2.    2 //@blog codepiano   
  3.    3 //@email codepiano.li@gmail.com  
  4.    4 //尝试着翻译了一下,难免有错误的地方,欢迎发邮件告知,多谢。  
  5.    5 /*------------------------------------------------Feature------------------------------------------------*/  
  6.    6 $(document).ready( function (){  
  7.    7   $('selector').dataTable( {  
  8.    8     /* 
  9.    9      *  默认为true 
  10.   10      *  是否自动计算列宽,计算列宽会花费一些时间,如果列宽通过aoColumns传递,可以关闭该属性作为优化 
  11.   11      */  
  12.   12     "bAutoWidth":true,  
  13.   13     /* 
  14.   14      *  默认为false 
  15.   15      *  是否延迟渲染,当用Ajax或者js方式加载数据时开启延迟渲染会带来很大的速度提升 
  16.   16      *  当该属性设置为true时,表格每一行新增的元素只有在需要被画出来时才会被DataTable创建出来 
  17.   17      */  
  18.   18     "bDeferRender":false,  
  19.   19     /* 
  20.   20      * 默认为true 
  21.   21      * 是否对数据进行过滤,数据过滤是十分灵活的,允许终端用户输入多个用空格分隔开的关键字 
  22.   22      * 匹配包含这些关键字的行,即使关键字的顺序不是用户输入的顺序,过滤操作会跨列进行匹配,关键字可以分布在一行中不同的列 
  23.   23      * 要注意的是如果你想在DataTable中使用过滤,该选项必须设置为true,如果想移除默认过滤输入框但是保留过滤功能,请设置为false(API没写,推测是false) 
  24.   24      */  
  25.   25     "bFilter":true,  
  26.   26     /* 
  27.   27      * 默认为true 
  28.   28      * 是否显示表格信息,是指当前页面上显示的数据的信息,如果有过滤操作执行,也会显示过滤操作的信息 
  29.   29      */  
  30.   30     "bInfo":true,  
  31.   31     /* 
  32.   32      * 默认为fasle 
  33.   33      * 是否开启jQuery UI ThemeRoller支持,需要一些ThemeRoller使用的标记,这些标记有些与DataTable传统使用的有轻微的差异,有些是额外附加的 
  34.   34      */  
  35.   35     "bJQueryUI":false,  
  36.   36     /* 
  37.   37      * 默认为true 
  38.   38      * 是否允许终端用户从一个选择列表中选择分页的页数,页数为10,25,50和100,需要分页组件bPaginate的支持 
  39.   39      */  
  40.   40     "bLengthChange":false,  
  41.   41     /* 
  42.   42      * 默认为true 
  43.   43      * 是否开启分页功能,即使设置为false,仍然会有一个默认的<前进,后退>分页组件 
  44.   44      */  
  45.   45     "bPaginage":true,  
  46.   46     /* 
  47.   47      * 默认为false 
  48.   48      * 当表格在处理的时候(比如排序操作)是否显示“处理中...” 
  49.   49      * 当表格的数据中的数据过多以至于对其中的记录进行排序时会消耗足以被察觉的时间的时候,该选项会有些用处 
  50.   50      */  
  51.   51     "bProcessing":false,  
  52.   52     /* 
  53.   53      * 默认为false 
  54.   54      * 是否开启不限制长度的滚动条(和sScrollY属性结合使用),不限制长度的滚动条意味着当用户拖动滚动条的时候DataTable会不断加载数据 
  55.   55      * 当数据集十分大的时候会有些用处,该选项无法和分页选项同时使用,分页选项会被自动禁止,注意,额外推荐的滚动条会优先与该选项 
  56.   56      */  
  57.   57     "bScrollInfinite":false,  
  58.   58     /* 
  59.   59      * 默认为false 
  60.   60      * 配置DataTable使用服务器端处理,注意,sAjaxSource参数必须指定,以便给DataTable一个为每一行获取数据的数据源 
  61.   61      */  
  62.   62     "bServerSide":false,  
  63.   63     /* 
  64.   64      * 默认为true 
  65.   65      * 是否开启列排序,对单独列的设置在每一列的bSortable选项中指定 
  66.   66      */  
  67.   67     "bSort":true,  
  68.   68     /* 
  69.   69      * 默认为true 
  70.   70      * 是否在当前被排序的列上额外添加sorting_1,sorting_2,sorting_3三个class,当该列被排序的时候,可以切换其背景颜色 
  71.   71      * 该选项作为一个来回切换的属性会增加执行时间(当class被移除和添加的时候) 
  72.   72      * 当对大数据集进行排序的时候你或许希望关闭该选项 
  73.   73      */  
  74.   74     "bSortClasses":true,  
  75.   75     /* 
  76.   76      * 默认为false 
  77.   77      * 是否开启状态保存,当选项开启的时候会使用一个cookie保存表格展示的信息的状态,例如分页信息,展示长度,过滤和排序等 
  78.   78      * 这样当终端用户重新加载这个页面的时候可以使用以前的设置 
  79.   79      */  
  80.   80     "bStateSave":false,  
  81.   81     /* 
  82.   82      * 默认为空字符串,即:无效 
  83.   83      * 是否开启水平滚动,当一个表格过于宽以至于无法放入一个布局的时候,或者表格有太多列的时候,你可以开启该选项 
  84.   84      * 从而在一个可横向滚动的视图里面展示表格,该属性可以是css设置,或者一个数字(作为像素量度来使用) 
  85.   85      */  
  86.   86     "sScrollX":"100%",  
  87.   87     /* 
  88.   88      * 默认为空字符串,即:无效 
  89.   89      * 是否开启垂直滚动,垂直滚动会驱使DataTable设置为给定的长度,任何溢出到当前视图之外的数据可以通过垂直滚动进行察看 
  90.   90      * 当在小范围区域中显示大量数据的时候,可以在分页和垂直滚动中选择一种方式,该属性可以是css设置,或者一个数字(作为像素量度来使用) 
  91.   91      */  
  92.   92     "sScrollY":"100%",  
  93.   93     /* 
  94.   94      * 自定义语言设置 
  95.   95      */  
  96.   96     "oLanguage":{  
  97.   97         "oAria":{  
  98.   98         /* 
  99.   99          * 默认值为activate to sort column ascending 
  100.  100          * 当一列被按照升序排序的时候添加到表头的ARIA标签,注意列头是这个字符串的前缀(?) 
  101.  101          */  
  102.  102             "sSortAscending"" - click/return to sort ascending",  
  103.  103         /* 
  104.  104          * 默认值为activate to sort column ascending 
  105.  105          * 当一列被按照升序降序的时候添加到表头的ARIA标签,注意列头是这个字符串的前缀(?) 
  106.  106          */  
  107.  107             "sSortDescending"" - click/return to sort descending"  
  108.  108         },  
  109.  109         "oPaginate": {  
  110.  110             /* 
  111.  111              * 默认值为First 
  112.  112              * 当使用全数字类型的分页组件的时候,到第一页按钮上的文字 
  113.  113              */  
  114.  114             "sFirst""First page",  
  115.  115             /* 
  116.  116              * 默认值为Last 
  117.  117              * 当使用全数字类型的分页组件的时候,到最后一页按钮上的文字 
  118.  118              */  
  119.  119             "sLast""Last page",  
  120.  120             /* 
  121.  121              * 默认值为Next 
  122.  122              * 当使用全数字类型的分页组件的时候,到下一页按钮上的文字 
  123.  123              */  
  124.  124             "sNext""Next page",  
  125.  125             /* 
  126.  126              * 默认值为Previous 
  127.  127              * 当使用全数字类型的分页组件的时候,到前一页按钮上的文字 
  128.  128              */  
  129.  129             "sPrevious""Previous page"  
  130.  130         },  
  131.  131         /* 
  132.  132          * 默认值activate to sort column ascending为 
  133.  133          * 当表格中没有数据(无视因为过滤导致的没有数据)时,该字符串年优先与sZeroRecords显示 
  134.  134          * 注意这是个可选参数,如果没有指定,sZeroRecrods会被使用(既不是默认值也不是给定的值) 
  135.  135          */  
  136.  136         "sEmptyTable""No data available in table",  
  137.  137         /* 
  138.  138          * 默认值为Showing _START_ to _END_ of _TOTAL_ entries  
  139.  139          * 该属性给终端用户提供当前页面的展示信息,字符串中的变量会随着表格的更新被动态替换,而且可以被任意移动和删除 
  140.  140          */  
  141.  141         "sInfo""Got a total of _TOTAL_ entries to show (_START_ to _END_)",  
  142.  142         /* 
  143.  143          * 默认值为Showing 0 to 0 of 0 entries  
  144.  144          * 当表格中没有数据时展示的表格信息,通常情况下格式会符合sInfo的格式 
  145.  145          */  
  146.  146         "sInfoEmpty""No entries to show",  
  147.  147         /* 
  148.  148          * 默认值为(filtered from _MAX_ total entries)  
  149.  149          * 当用户过滤表格中的信息的时候,该字符串会被附加到信息字符串的后面,从而给出过滤器强度的直观概念 
  150.  150          */  
  151.  151         "sInfoFiltered"" - filtering from _MAX_ records",  
  152.  152         /* 
  153.  153          * 默认值为空字符串 
  154.  154          * 使用该属性可以很方便的向表格信息字符串中添加额外的信息,被添加的信息在任何时候都会被附加到表格信息组件的后面 
  155.  155          * sInfoEmpty和sInfoFiltered可以以任何被使用的方式进行结合 
  156.  156          */  
  157.  157         "sInfoPostFix""All records shown are derived from real information.",  
  158.  158         /* 
  159.  159          * 默认值为',' 
  160.  160          * DataTable有内建的格式化数字的工具,可以用来格式化表格信息中较大的数字 
  161.  161          * 默认情况下会自动调用,可以使用该选项来自定义分割的字符  
  162.  162          */  
  163.  163         "sInfoThousands""'",  
  164.  164         /* 
  165.  165          * 默认值为Show _MENU_ entries  
  166.  166          * 描述当分页组件的下拉菜单的选项被改变的时候发生的动作,'_MENU_'变量会被替换为默认的10,25,50,100 
  167.  167          * 如果需要的话可以被自定义的下拉组件替换 
  168.  168          */  
  169.  169         "sLengthMenu""Display _MENU_ records",  
  170.  170         /* 
  171.  171          * 默认值为Loading... 
  172.  172          * 当使用Ajax数据源和表格在第一次被加载搜集数据的时候显示的字符串,该信息在一个空行显示 
  173.  173          * 向终端用户指明数据正在被加载,注意该参数在从服务器加载的时候无效,只有Ajax和客户端处理的时候有效 
  174.  174          */  
  175.  175         "sLoadingRecords""Please wait - loading...",  
  176.  176         /* 
  177.  177          * 默认值为Processing... 
  178.  178          * 当表格处理用户动作(例如排序或者类似行为)的时候显示的字符串 
  179.  179          */  
  180.  180         "sProcessing""DataTables is currently busy",  
  181.  181         /* 
  182.  182          * 默认为Search: 
  183.  183          * 描述用户在输入框输入过滤条件时的动作,变量'_INPUT_',如果用在字符串中 
  184.  184          * DataTable会使用用户输入的过滤条件替换_INPUT_为HTML文本组件,从而可以支配它(即用户输入的过滤条件)出现在信息字符串中的位置  
  185.  185          * 如果变量没有指定,用户输入会自动添加到字符串后面 
  186.  186          */  
  187.  187         "sSearch""Apply filter _INPUT_ to table",  
  188.  188         /* 
  189.  189          * 默认值为空字符串,即:无效 
  190.  190          * 所有语言信息可以被存储在服务器端的文件中,DataTable可以根据该参数指定的URL去寻找 
  191.  191          * 必须保存语言文件的URL信息,必须是JSON格式,对象和初始化中使用的oLanguage对象具有相同的属性 
  192.  192          * 请参考示例文件来了解该参数是如何工作的 
  193.  193          */  
  194.  194         "sUrl""http://www.sprymedia.co.uk/dataTables/lang.txt",  
  195.  195         /* 
  196.  196          * 默认值为No matching records found 
  197.  197          * 当对数据进行过滤操作后,如果没有要显示的数据,会在表格记录中显示该字符串 
  198.  198          * sEmptyTable只在表格中没有数据的时候显示,忽略过滤操作 
  199.  199          */  
  200.  200         "sZeroRecords""No records to display"  
  201.  201     }  
  202.  202   });  
  203.  203 });  
  204.  204   
  205.  205 /*------------------------------------------------Options------------------------------------------------*/  
  206.  206 /* 
  207.  207  * bDestroy 
  208.  208  * 默认为false 
  209.  209  * 使用传递的新的初始化对象中的属性构造一个新的表格,并替换一个匹配指定的选择器的表格 
  210.  210  * 如果没有匹配到表格,新的表格会被作为一个普通表格被构建 
  211.  211  */  
  212.  212 $('selector').dataTable({  
  213.  213     "bFilter"false,  
  214.  214     "bDestroy"true  
  215.  215 });  
  216.  216   
  217.  217 /* 
  218.  218  * bRetrieve 
  219.  219  * 默认为false 
  220.  220  * 使用指定的选择器检索表格,注意,如果表格已经被初始化,该参数会直接返回已经被创建的对象 
  221.  221  * 并不会顾及你传递进来的初始化参数对象的变化,将该参数设置为true说明你确认已经明白这一点 
  222.  222  * 如果你需要的话,bDestroy可以用来重新初始化表格 
  223.  223  */  
  224.  224 $(document).ready(function(){  
  225.  225   initTable();  
  226.  226   tableActions();  
  227.  227 });  
  228.  228   
  229.  229 function initTable()  
  230.  230 {  
  231.  231   return $('#example').dataTable( {  
  232.  232     "sScrollY""200px",  
  233.  233     "bPaginate"false,  
  234.  234     "bRetrieve"true  
  235.  235   });  
  236.  236 }  
  237.  237   
  238.  238 function tableActions()  
  239.  239 {  
  240.  240   var oTable = initTable();  
  241.  241   // perform API operations with oTable   
  242.  242 }  
  243.  243   
  244.  244 /* 
  245.  245  * bScrollAutoCss 
  246.  246  * 默认为true 
  247.  247  * 指明DataTable中滚动的标题元素是否被允许设置内边距和外边距等 
  248.  248  */  
  249.  249 $(document).ready(function(){  
  250.  250   $('#example').dataTable( {  
  251.  251     "bScrollAutoCss"false,  
  252.  252     "sScrollY""200px"  
  253.  253   });  
  254.  254 });  
  255.  255   
  256.  256 /* 
  257.  257  * bScrollCollapse 
  258.  258  * 默认为false 
  259.  259  * 当垂直滚动被允许的时候,DataTable会强制表格视图在任何时候都是给定的高度(对布局有利) 
  260.  260  * 不过,当把数据集过滤到十分小的时候看起来会很古怪,而且页脚会留在最下面 
  261.  261  * 当结果集的高度比给定的高度小时该参数会使表格高度自适应 
  262.  262  */  
  263.  263 $(document).ready(function(){  
  264.  264   $('#example').dataTable( {  
  265.  265     "sScrollY""200",  
  266.  266     "bScrollCollapse"true  
  267.  267   });  
  268.  268 });  
  269.  269   
  270.  270 /* 
  271.  271  * bSortCellsTop 
  272.  272  * 默认为false 
  273.  273  * 是否允许DataTable使用顶部(默认为true)的单元格,或者底部(默认为false)的单元格,当使用复合表头的时候会有些用处 
  274.  274  */  
  275.  275 $(document).ready(function(){  
  276.  276   $('#example').dataTable( {  
  277.  277     "bSortCellsTop"true  
  278.  278   });  
  279.  279 });  
  280.  280   
  281.  281 /* 
  282.  282  * iCookieDuration 
  283.  283  * 默认为7200秒(2个小时) 
  284.  284  * 设置用来存储会话信息的cookie的持续时间,单位是秒 
  285.  285  */  
  286.  286 $(document).ready(function(){  
  287.  287   $('#example').dataTable( {  
  288.  288     "iCookieDuration": 60*60*24 // 1 day  
  289.  289   });  
  290.  290 })  
  291.  291   
  292.  292 /* 
  293.  293  * iDeferLoading 
  294.  294  * 默认为null 
  295.  295  * 当选项被开启的时候,DataTable在非加载第一次的时候不会向服务器请求数据,而是会使用页面上的已有数据(不会应用排序等) 
  296.  296  * 因此在加载的时候保留一个XmlHttpRequest,iDeferLoading被用来指明需要延迟加载,而且也用来通知DataTable一个满的表格有多少条数据 
  297.  297  * 信息元素和分页会被正确保留 
  298.  298  */  
  299.  299 $(document).ready(function(){  
  300.  300   $('#example').dataTable( {  
  301.  301     "bServerSide"true,  
  302.  302     "sAjaxSource""scripts/server_processing.php",  
  303.  303     "iDeferLoading": 57  
  304.  304   });  
  305.  305 });  
  306.  306   
  307.  307 /* 
  308.  308  * iDisplayLength 
  309.  309  * 默认为10 
  310.  310  * 单页显示的数据的条数,如果bLengthChange属性被开启,终端用户可以通过一个弹出菜单重写该数值 
  311.  311  */  
  312.  312 $(document).ready(function(){  
  313.  313   $('#example').dataTable( {  
  314.  314     "bServerSide"true,  
  315.  315     "sAjaxSource""scripts/server_processing.php",  
  316.  316     "iDeferLoading": 57  
  317.  317   });  
  318.  318 });  
  319.  319   
  320.  320 /* 
  321.  321  * iDisplayStart 
  322.  322  * 默认为0 
  323.  323  * 当开启分页的时候,定义展示的记录的起始序号,不是页数,因此如果你每个分页有10条记录而且想从第三页开始 
  324.  324  * 需要把该参数指定为20 
  325.  325  */  
  326.  326 $(document).ready(function(){  
  327.  327   $('#example').dataTable( {  
  328.  328     "iDisplayStart": 20  
  329.  329   });  
  330.  330 })  
  331.  331   
  332.  332 /* 
  333.  333  * iScrollLoadGap 
  334.  334  * 默认为100 
  335.  335  * 滚动余界是指DataTable在当前页面还有多少条数据可供滚动时自动加载新的数据,你可能希望指定一个足够大的余界 
  336.  336  * 以便滚动加载数据的操作对用户来说是平滑的,同时也不会大到加载比需要的多的多的数据 
  337.  337  */  
  338.  338 $(document).ready(function(){  
  339.  339   $('#example').dataTable( {  
  340.  340     "bScrollInfinite"true,  
  341.  341     "bScrollCollapse"true,  
  342.  342     "sScrollY""200px",  
  343.  343     "iScrollLoadGap": 50  
  344.  344   });  
  345.  345 });  
  346.  346   
  347.  347 /* 
  348.  348  * iTabIndex 
  349.  349  * 默认为0 
  350.  350  * 默认情况下DataTable允许通过为需要键盘导航的元素添加tabindex属性来进行导航(排序、分页、过滤) 
  351.  351  * 允许你通过tab键切换控制组件,使用回车键去激活他们,默认为0表示按照文档流来切换 
  352.  352  * 如果需要的话,你可以使用该参数重写切换顺序,使用-1来禁止内建的键盘导航 
  353.  353  */  
  354.  354 $(document).ready(function(){  
  355.  355   $('#example').dataTable( {  
  356.  356     "iTabIndex": 1  
  357.  357   });  
  358.  358 });  
  359.  359   
  360.  360 /* 
  361.  361  * oSearch 
  362.  362  * 无默认值 
  363.  363  * 该参数允许你在初始化的时候使用已经定义的全局过滤状态,sSearch对象必须被定义,但是所有的其它选项都是可选的 
  364.  364  * 当bRegex为true的时候,搜索字符串会被当作正则表达式,当为false(默认)的时候,会被直接当作一个字符串 
  365.  365  * 当bSmart为true的时候,DataTable会使用使用灵活过滤策略(匹配任何可能的数据),为false的时候不会这样做 
  366.  366  */  
  367.  367 $(document).ready(function(){  
  368.  368     $('#example').dataTable( {  
  369.  369         "oSearch": {"sSearch""Initial search"}  
  370.  370     });  
  371.  371 })  
  372.  372   
  373.  373 /* 
  374.  374  * sAjaxDataProp 
  375.  375  * 默认为aaData 
  376.  376  * 当使用Ajax数据源或者服务器端处理的时候,DataTable会默认搜索aaData属性作为数据源 
  377.  377  * 该选项允许变更数据源的名称,你可以使用JavaScript的点号对象表示法去访问多级网状数据源 
  378.  378  */  
  379.  379 // Get data from { "data": [...] }  
  380.  380 $(document).ready(function(){  
  381.  381   var oTable = $('#example').dataTable( {  
  382.  382     "sAjaxSource""sources/data.txt",  
  383.  383     "sAjaxDataProp""data"  
  384.  384   });  
  385.  385 });  
  386.  386   
  387.  387 // Get data from { "data": { "inner": [...] } }  
  388.  388 $(document).ready(function(){  
  389.  389   var oTable = $('#example').dataTable( {  
  390.  390     "sAjaxSource""sources/data.txt",  
  391.  391     "sAjaxDataProp""data.inner"  
  392.  392   });  
  393.  393 });  
  394.  394   
  395.  395 /* 
  396.  396  * sAjaxSource 
  397.  397  * 默认为null 
  398.  398  * 该参数用来向DataTable指定加载的外部数据源(如果想使用现有的数据,请使用aData) 
  399.  399  * 可以简单的提供一个可以用来获得数据url或者JSON对象,该对象必须包含aaData,作为表格的数据源 
  400.  400  */  
  401.  401 $(document).ready(function(){  
  402.  402   $('#example').dataTable( {  
  403.  403     "sAjaxSource""http://www.sprymedia.co.uk/dataTables/json.php"  
  404.  404   });  
  405.  405 })  
  406.  406   
  407.  407 /* 
  408.  408  * sCookiePrefix 
  409.  409  * 默认为SpryMedia_DataTables_ 
  410.  410  * 该参数可以用来重写DataTable默认指定的用来存储状态信息的cookie的前缀 
  411.  411 */  
  412.  412 $(document).ready(function(){  
  413.  413   $('#example').dataTable( {  
  414.  414     "sCookiePrefix""my_datatable_",  
  415.  415   });  
  416.  416 });  
  417.  417   
  418.  418 /* 
  419.  419  * sDom 
  420.  420  * 默认值为lfrtip (when bJQueryUI is false) or <"H"lfr>t<"F"ip> (when bJQueryUI is true) 
  421.  421  * 该初始化属性用来指定你想把各种控制组件注入到dom节点的位置(比如你想把分页组件放到表格的顶部) 
  422.  422  * DIV元素(带或者不带自定的class)可以添加目标样式,下列语法被使用 
  423.  423  *  可供使用的选项 
  424.  424  *      'l' - 长度改变 
  425.  425  *      'f' - 过滤输入 
  426.  426  *      't' - 表格 
  427.  427  *      'i' - 信息 
  428.  428  *      'p' - 分页 
  429.  429  *      'r' - 处理 
  430.  430  *  可供使用的常量 
  431.  431  *      'H' - jQueryUI theme "header" classes('fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix') 
  432.  432  *      'F' - jQueryUI theme "footer" classes ('fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix') 
  433.  433  *  需要的语法 
  434.  434  *      '<' 和 '>' - div元素 
  435.  435  *      '<"class" and '>' - 带有class属性的div元素 
  436.  436  *      '<"#id" and '>' - 带有id属性的div元素 
  437.  437  *  例子 
  438.  438  *      '<"wrapper"flipt>' 
  439.  439  *      '<lf<t>ip>' 
  440.  440  */  
  441.  441 $(document).ready(function(){  
  442.  442   $('#example').dataTable( {  
  443.  443     "sDom"'<"top"i>rt<"bottom"flp><"clear"&lgt;'  
  444.  444   });  
  445.  445 });  
  446.  446   
  447.  447 /* 
  448.  448  * sPaginationType 
  449.  449  * 默认为two_button 
  450.  450  * DataTable内建了两种交互式分页策略,两个按钮和全页数,展现给终端用户不同的控制方式 
  451.  451  * 可以通过API增加策略 
  452.  452  */  
  453.  453 $(document).ready(function(){  
  454.  454     $('#example').dataTable( {  
  455.  455         "sPaginationType""full_numbers"  
  456.  456     });  
  457.  457 })  
  458.  458   
  459.  459 /* 
  460.  460  * sScrollXInner 
  461.  461  * 默认为空字符串,即:无效 
  462.  462  * 当横向滚动可用的时候,该属性可以用来强制DataTable的宽度比需要的更长 
  463.  463  * 比如你需要表格彼此相隔适宜,该变量可以用来使表格变大,而且强制滚动 
  464.  464  * 该该属性可以是css设置,或者一个数字(作为像素量度来使用) 
  465.  465  */  
  466.  466 $(document).ready(function(){  
  467.  467     $('#example').dataTable( {  
  468.  468         "sScrollX""100%",  
  469.  469         "sScrollXInner""110%"  
  470.  470     });  
  471.  471 });  
  472.  472   
  473.  473 /* 
  474.  474  * sServerMethod 
  475.  475  * 默认值为GET 
  476.  476  * 设置使用Ajax方式调用的服务器端的处理方法或者Ajax数据源的HTTP请求方式 
  477.  477  */  
  478.  478 $(document).ready(function(){  
  479.  479     $('#example').dataTable({  
  480.  480         "bServerSide"true,  
  481.  481         "sAjaxSource""scripts/post.php",  
  482.  482         "sServerMethod""POST"  
  483.  483     });  
  484.  484 });  
  485.  485 /*------------------------------------------------Callback------------------------------------------------*/  
  486.  486 /* 
  487.  487  * fnCookieCallback 
  488.  488  * 无默认值 
  489.  489  * 当DataTable的状态保留可用时,自定义被保存的cookie和参数。只要cookie被修改就会调用此方法 
  490.  490  * 该方法需要返回一个格式良好的cookie字符串,注意数据对象是以Javascript对象的形式传递进来的,必须转换成字符串,例如JSON格式 
  491.  491  */  
  492.  492 $(document).ready(function (){  
  493.  493   $('#example').dataTable({  
  494.  494     "fnCookieCallback"function (sName, oData, sExpires, sPath) {  
  495.  495       // Customise oData or sName or whatever else here  
  496.  496       return sName + "="+JSON.stringify(oData)+"; expires=" + sExpires +"; path=" + sPath;  
  497.  497     }  
  498.  498   });  
  499.  499 });  
  500.  500   
  501.  501 /* 
  502.  502  * fnCreatedRow 
  503.  503  * 无默认值 
  504.  504  * 当一个新的TR元素(并且所有TD子元素被插入)被创建或者被作为一个DOM资源被注册时调用该函数 
  505.  505  * 允许操作该TR元素 
  506.  506  */  
  507.  507 $(document).ready(function(){  
  508.  508     $('#example').dataTable({  
  509.  509         "fnCreatedRow"function( nRow, aData, iDataIndex ){  
  510.  510             // Bold the grade for all 'A' grade browsers  
  511.  511             if ( aData[4] == "A" )  
  512.  512     {  
  513.  513         $('td:eq(4)', nRow).html( '<b>A</b>' );  
  514.  514     }  
  515.  515         }  
  516.  516     });  
  517.  517 });  
  518.  518   
  519.  519 /* 
  520.  520  * fnDrawCallback 
  521.  521  * 无默认值 
  522.  522  * 每当draw事件发生时调用该函数,允许你动态编辑新建的dom对象的任何属性 
  523.  523  */  
  524.  524 $(document).ready( function(){  
  525.  525     $('#example').dataTable({  
  526.  526         "fnDrawCallback"function(){  
  527.  527             alert( 'DataTables has redrawn the table' );  
  528.  528         }  
  529.  529     });  
  530.  530 });  
  531.  531   
  532.  532 /* 
  533.  533  * fnFooterCallback 
  534.  534  * 无默认值 
  535.  535  * 与fnHeaderCallback()完全相同,只是该函数允许你在每一个draw时间发生时修改页脚 
  536.  536  */  
  537.  537 $(document).ready( function(){  
  538.  538     $('#example').dataTable({  
  539.  539         "fnDrawCallback"function() {  
  540.  540             alert( 'DataTables has redrawn the table' );  
  541.  541         }  
  542.  542     });  
  543.  543 });  
  544.  544   
  545.  545 /* 
  546.  546  * fnFormatNumber 
  547.  547  * 无默认值 
  548.  548  * 当渲染表格信息(例如:显示57条记录中的1-10条)中大的数字时 
  549.  549  * 为了方便用户,DataTable会使用逗号分割每千单位(例如1000000会被渲染为1,000,000) 
  550.  550  * 该函数会重写DataTable默认使用的策略 
  551.  551  */  
  552.  552 $(document).ready(function(){  
  553.  553   $('#example').dataTable({  
  554.  554     "fnFormatNumber"function ( iIn ) {  
  555.  555       if ( iIn < 1000 ) {  
  556.  556         return iIn;  
  557.  557       } else {  
  558.  558         var  
  559.  559           s=(iIn+""),  
  560.  560           a=s.split(""), out="",  
  561.  561           iLen=s.length;  
  562.  562   
  563.  563         for ( var i=0 ; i<iLen ; i++ ) {  
  564.  564           if ( i%3 === 0 && i !== 0 ) {  
  565.  565             out = "'"+out;  
  566.  566           }  
  567.  567           out = a[iLen-i-1]+out;  
  568.  568         }  
  569.  569       }  
  570.  570       return out;  
  571.  571     };  
  572.  572   });  
  573.  573 });  
  574.  574   
  575.  575 /* 
  576.  576  * fnHeaderCallback 
  577.  577  * 无默认值 
  578.  578  * 每当draw事件发生时调用该函数,允许你动态编辑表头行,可以用来计算和展示关于表格的有用的信息 
  579.  579  */  
  580.  580 $(document).ready(function(){  
  581.  581     $('#example').dataTable({  
  582.  582         "fnFormatNumber"function ( iIn ) {  
  583.  583             if ( iIn < 1000 ) {  
  584.  584                 return iIn;  
  585.  585             } else {  
  586.  586                 var  
  587.  587         s=(iIn+""),  
  588.  588         a=s.split(""), out="",  
  589.  589         iLen=s.length;  
  590.  590   
  591.  591     for ( var i=0 ; i<iLen ; i++ ) {  
  592.  592         if ( i%3 === 0 && i !== 0 ) {  
  593.  593             out = "'"+out;  
  594.  594         }  
  595.  595         out = a[iLen-i-1]+out;  
  596.  596     }  
  597.  597             }  
  598.  598             return out;  
  599.  599         };  
  600.  600     });  
  601.  601 });  
  602.  602   
  603.  603 /* 
  604.  604  * fnInfoCallback 
  605.  605  * 无默认值 
  606.  606  * 信息元素可以用来传输表格当前状态的信息,尽管DataTable提供的国际化的选项在处理大多数自定义情况时已经相当方便了 
  607.  607  * 或许你有时仍然希望自定义深层的字符串,该函数会满足你的需要 
  608.  608  */  
  609.  609 $('#example').dataTable( {  
  610.  610     "fnInfoCallback"function( oSettings, iStart, iEnd, iMax, iTotal, sPre ) {  
  611.  611         return iStart +" to "+ iEnd;  
  612.  612     }  
  613.  613 });  
  614.  614   
  615.  615 /* 
  616.  616  * fnInitComplete 
  617.  617  * 无默认值 
  618.  618  * 当表格被初始化后调用该函数,通常DataTable会被持续初始化,并不需要该函数 
  619.  619  * 可是,当使用异步的XmlHttpRequest从外部获得语言信息时,初始化并不是持续的 
  620.  620  */  
  621.  621 $(document).ready( function(){  
  622.  622     $('#example').dataTable({  
  623.  623         "fnInitComplete"function(oSettings, json) {  
  624.  624             alert( 'DataTables has finished its initialisation.' );  
  625.  625         }  
  626.  626     });  
  627.  627 })  
  628.  628   
  629.  629 /* 
  630.  630  * fnPreDrawCallback 
  631.  631  * 无默认值 
  632.  632  * 在每一个表格draw事件发生前调用该函数,通过返回false来取消draw事件 
  633.  633  * 其它任何的返回值,包括undefined都会导致draw事件的发生 
  634.  634  */  
  635.  635 $(document).ready( function(){  
  636.  636     $('#example').dataTable({  
  637.  637         "fnPreDrawCallback"function( oSettings ) {  
  638.  638             if ( $('#test').val() == 1 ) {  
  639.  639                 return false;  
  640.  640             }  
  641.  641         }  
  642.  642     });  
  643.  643 });  
  644.  644   
  645.  645 /* 
  646.  646  * fnRowCallback 
  647.  647  * 无默认值 
  648.  648  * 你可以通过该函数在每一个表格绘制事件发生之后,渲染到屏幕上之前,向表格里的每一行传递'处理过程' 
  649.  649  * 该函数可以用来设置行的class名字等 
  650.  650  */  
  651.  651 $(document).ready(function(){  
  652.  652     $('#example').dataTable({  
  653.  653         "fnRowCallback"function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {  
  654.  654             // Bold the grade for all 'A' grade browsers  
  655.  655             if ( aData[4] == "A" )  
  656.  656     {  
  657.  657         $('td:eq(4)', nRow).html( '<b>A</b>' );  
  658.  658     }  
  659.  659         }  
  660.  660     });  
  661.  661 });  
  662.  662   
  663.  663 /* 
  664.  664  * fnServerData 
  665.  665  * 无默认值 
  666.  666  * 你可以使用该参数重写从服务器获取数据的方法($.getJSON),从而使其更适合你的应用 
  667.  667  * 例如你可以使用POST方式提交,或者从Google Gears或者AIR数据库获取数据 
  668.  668  */  
  669.  669 // POST data to server  
  670.  670 $(document).ready(function(){  
  671.  671     $('#example').dataTable( {  
  672.  672         "bProcessing"true,  
  673.  673         "bServerSide"true,  
  674.  674         "sAjaxSource""xhr.php",  
  675.  675         "fnServerData"function ( sSource, aoData, fnCallback ) {  
  676.  676             $.ajax( {  
  677.  677                 "dataType"'json',  
  678.  678             "type""POST",  
  679.  679             "url": sSource,  
  680.  680             "data": aoData,  
  681.  681             "success": fnCallback  
  682.  682             } );  
  683.  683         }  
  684.  684     });  
  685.  685 });  
  686.  686   
  687.  687 /* 
  688.  688  * fnServerParams 
  689.  689  * 无默认值 
  690.  690  * 用来在向服务器发送Ajax请求时发送额外的数据,例如自定义的过滤信息,该函数使向服务器发送额外参数变得简单 
  691.  691  * 传递进来的参数是DataTable建立的数据集合,你可以根据需要添加或者修改该集合 
  692.  692  */  
  693.  693 $(document).ready(function(){  
  694.  694     $('#example').dataTable( {  
  695.  695         "bProcessing"true,  
  696.  696         "bServerSide"true,  
  697.  697         "sAjaxSource""scripts/server_processing.php",  
  698.  698         "fnServerParams"function ( aoData ) {  
  699.  699             aoData.push( { "name""more_data""value""my_value" } );  
  700.  700         }  
  701.  701     });  
  702.  702 });  
  703.  703   
  704.  704 /* 
  705.  705  * fnStateLoad 
  706.  706  * 无默认值 
  707.  707  * 加载表格状态,使用该函数你可以定义状态信息加载的位置和方式,默认情况下DataTable会从cookie中加载 
  708.  708  * 不过你或许希望使用本地存储(HTML5支持),或者服务端数据库 
  709.  709  */  
  710.  710 $(document).ready(function(){  
  711.  711     $('#example').dataTable({  
  712.  712         "bStateSave"true,  
  713.  713         "fnStateSave"function (oSettings, oData) {  
  714.  714             var o;  
  715.  715   
  716.  716             // Send an Ajax request to the server to get the data. Note that  
  717.  717             // this is a synchronous request.  
  718.  718             $.ajax( {  
  719.  719                 "url""/state_load",  
  720.  720                 "async"false,  
  721.  721                 "dataType""json",  
  722.  722                 "success"function (json) {  
  723.  723                     o = json;  
  724.  724                 }  
  725.  725             } );  
  726.  726             return o;  
  727.  727         }  
  728.  728     });  
  729.  729 });  
  730.  730   
  731.  731 /* 
  732.  732  * fnStateLoadParams 
  733.  733  * 无默认值 
  734.  734  * 该回调可以用来在加载状态信息之前编辑状态信息 
  735.  735  * 函数在表格从存储的数据加载状态信息时调用,在表格<当前使用的设置对象>被<从保存信息中加载的设置对象>修改以前调用 
  736.  736  * 注意作为插件开发者,你应该使用'stateLoadParams'事件去加载plug-in的参数 
  737.  737  */  
  738.  738 // Remove a saved filter, so filtering is never loaded  
  739.  739 $(document).ready(function(){  
  740.  740     $('#example').dataTable({  
  741.  741         "bStateSave"true,  
  742.  742         "fnStateLoadParams"function (oSettings, oData) {  
  743.  743             oData.oFilter.sSearch = "";  
  744.  744         });  
  745.  745     });  
  746.  746   
  747.  747   
  748.  748 // Disallow state loading by returning false  
  749.  749 $(document).ready(function(){  
  750.  750     $('#example').dataTable({  
  751.  751         "bStateSave"true,  
  752.  752         "fnStateLoadParams"function (oSettings, oData) {  
  753.  753             return false;  
  754.  754         });  
  755.  755     });  
  756.  756   
  757.  757 /* 
  758.  758  * fnStateLoaded 
  759.  759  * 无默认值 
  760.  760  * 在表格状态被状态存储方法读取和DataTable设置对象被修改时调用,作为被状态信息被加载的结果 
  761.  761  */  
  762.  762 // Show an alert with the filtering value that was saved  
  763.  763 $(document).ready(function(){  
  764.  764     $('#example').dataTable({  
  765.  765         "bStateSave"true,  
  766.  766         "fnStateLoaded"function (oSettings, oData) {  
  767.  767             alert( 'Saved filter was: '+oData.oFilter.sSearch );  
  768.  768         });  
  769.  769     });  
  770.  770   
  771.  771 /* 
  772.  772  * fnStateSave 
  773.  773  * 无默认值 
  774.  774  * 保存表格状态,使用该函数你可以定义状态信息保存的位置和方式,默认情况下DataTable会保存在cookie中 
  775.  775  * 不过你或许希望使用本地存储(HTML5支持),或者服务端数据库 
  776.  776  */  
  777.  777 $(document).ready(function(){  
  778.  778     $('#example').dataTable({  
  779.  779         "bStateSave"true,  
  780.  780         "fnStateSave"function (oSettings, oData) {  
  781.  781             // Send an Ajax request to the server with the state object  
  782.  782             $.ajax( {  
  783.  783                 "url""/state_save",  
  784.  784             "data": oData,  
  785.  785             "dataType""json",  
  786.  786             "method""POST"  
  787.  787                 "success"function () {}  
  788.  788             });  
  789.  789         }  
  790.  790     });  
  791.  791 });  
  792.  792   
  793.  793 /* 
  794.  794  * fnStateSaveParams 
  795.  795  * 无默认值 
  796.  796  * 该回调允许你编辑被保存的状态信息,在表格改变了状态信息需要保存的时候调用 
  797.  797  * 可以使用该回调在保存状态信息的对象被保存以前对其进行修改,包括添加或者其它状态属性或者修改 
  798.  798  */  
  799.  799 // Remove a saved filter, so filtering is never saved  
  800.  800 $(document).ready(function(){  
  801.  801     $('#example').dataTable({  
  802.  802         "bStateSave"true,  
  803.  803         "fnStateLoadParams"function (oSettings, oData) {  
  804.  804             oData.oFilter.sSearch = "";  
  805.  805         });  
  806.  806     });  
  807.  807 /*------------------------------------------------Columns------------------------------------------------*/  
  808.  808 /* 
  809.  809  * aDataSort 
  810.  810  * 默认为null,自动使用列序号作为默认 
  811.  811  * 在排序一列的时候同时将其它几列也排序,例如名和姓作为多列排序 
  812.  812  */  
  813.  813 // Using aoColumnDefs  
  814.  814 $(document).ready(function(){  
  815.  815     $('#example').dataTable({  
  816.  816         "aoColumnDefs": [  
  817.  817     { "aDataSort": [ 0, 1 ], "aTargets": [ 0 ] },  
  818.  818         { "aDataSort": [ 1, 0 ], "aTargets": [ 1 ] },  
  819.  819         { "aDataSort": [ 2, 3, 4 ], "aTargets": [ 2 ] }  
  820.  820     ]  
  821.  821     });  
  822.  822 });  
  823.  823   
  824.  824   
  825.  825 // Using aoColumns  
  826.  826 $(document).ready(function(){  
  827.  827     $('#example').dataTable({  
  828.  828         "aoColumns": [  
  829.  829     { "aDataSort": [ 0, 1 ] },  
  830.  830         { "aDataSort": [ 1, 0 ] },  
  831.  831         { "aDataSort": [ 2, 3, 4 ] },  
  832.  832         null,  
  833.  833         null  
  834.  834         ]  
  835.  835     });  
  836.  836 });  
  837.  837   
  838.  838 /* 
  839.  839  * asSorting 
  840.  840  * 默认为[ 'asc', 'desc' ]  
  841.  841  * 你可以通过该参数控制默认排序的方向,甚至改变排序处理器的行为(例如:只允许升序排序) 
  842.  842  */  
  843.  843 // Using aoColumnDefs  
  844.  844 $(document).ready(function(){  
  845.  845     $('#example').dataTable({  
  846.  846         "aoColumnDefs": [  
  847.  847     { "asSorting": [ "asc" ], "aTargets": [ 1 ] },  
  848.  848         { "asSorting": [ "desc""asc""asc" ], "aTargets": [ 2 ] },  
  849.  849         { "asSorting": [ "desc" ], "aTargets": [ 3 ] }  
  850.  850     ]  
  851.  851     });  
  852.  852 });  
  853.  853   
  854.  854   
  855.  855 // Using aoColumns  
  856.  856 $(document).ready(function(){  
  857.  857     $('#example').dataTable( {  
  858.  858         "aoColumns": [  
  859.  859         null,  
  860.  860         { "asSorting": [ "asc" ] },  
  861.  861         { "asSorting": [ "desc""asc""asc" ] },  
  862.  862         { "asSorting": [ "desc" ] },  
  863.  863         null  
  864.  864         ]  
  865.  865     });  
  866.  866 });  
  867.  867   
  868.  868 /* 
  869.  869  * bSearchable 
  870.  870  * 默认为true 
  871.  871  * 是否在列上应用过滤 
  872.  872  */  
  873.  873 // Using aoColumnDefs  
  874.  874 $(document).ready(function(){  
  875.  875     $('#example').dataTable({  
  876.  876         "aoColumnDefs": [  
  877.  877     { "bSearchable"false"aTargets": [ 0 ] }  
  878.  878     ]} );  
  879.  879 });  
  880.  880   
  881.  881   
  882.  882 // Using aoColumns  
  883.  883 $(document).ready(function(){  
  884.  884     $('#example').dataTable({  
  885.  885         "aoColumns": [  
  886.  886     { "bSearchable"false },  
  887.  887         null,  
  888.  888         null,  
  889.  889         null,  
  890.  890         null  
  891.  891         ] });  
  892.  892 });  
  893.  893   
  894.  894 /* 
  895.  895  * bSortable 
  896.  896  * 默认为true 
  897.  897  * 是否在某一列上开启排序 
  898.  898  */  
  899.  899 // Using aoColumnDefs  
  900.  900 $(document).ready(function(){  
  901.  901     $('#example').dataTable({  
  902.  902         "aoColumnDefs": [  
  903.  903     { "bSortable"false"aTargets": [ 0 ] }  
  904.  904     ] });  
  905.  905 });  
  906.  906   
  907.  907   
  908.  908 // Using aoColumns  
  909.  909 $(document).ready(function(){  
  910.  910     $('#example').dataTable( {  
  911.  911         "aoColumns": [  
  912.  912     { "bSortable"false },  
  913.  913         null,  
  914.  914         null,  
  915.  915         null,  
  916.  916         null  
  917.  917         ] });  
  918.  918 });  
  919.  919   
  920.  920 /* 
  921.  921  * bUseRendered 
  922.  922  * 默认为true 
  923.  923  * 当对一列使用使用fnRender时,你或许希望使用原始的数据(渲染以前)去排序或者过滤(默认是使用用户看到的渲染过的数据) 
  924.  924  * 或许对日期类型有些用处,注意,现在建议使用mDataProp作为函数并且使用该函数提供的type参数,来允许不同的数据被用来排序,过滤,展现和类型检测 
  925.  925  */  
  926.  926 // Using aoColumnDefs  
  927.  927 $(document).ready(function() {  
  928.  928     $('#example').dataTable( {  
  929.  929         "aoColumnDefs": [  
  930.  930     {  
  931.  931         "fnRender"function ( oObj ) {  
  932.  932             return oObj.aData[0] +' '+ oObj.aData[3];  
  933.  933         },  
  934.  934         "bUseRendered"false,  
  935.  935         "aTargets": [ 0 ]  
  936.  936     }  
  937.  937     ]  
  938.  938     } );  
  939.  939 } );  
  940.  940   
  941.  941 // Using aoColumns  
  942.  942 $(document).ready(function() {  
  943.  943     $('#example').dataTable( {  
  944.  944         "aoColumns": [  
  945.  945     {  
  946.  946         "fnRender"function ( oObj ) {  
  947.  947             return oObj.aData[0] +' '+ oObj.aData[3];  
  948.  948         },  
  949.  949         "bUseRendered"false  
  950.  950     },  
  951.  951         null,  
  952.  952         null,  
  953.  953         null,  
  954.  954         null  
  955.  955         ]  
  956.  956     } );  
  957.  957 } );  
  958.  958   
  959.  959 /* 
  960.  960  * bVisible 
  961.  961  * 默认值为true 
  962.  962  * 是否展示某一列 
  963.  963  */  
  964.  964 // Using aoColumnDefs  
  965.  965 $(document).ready(function() {  
  966.  966     $('#example').dataTable( {  
  967.  967         "aoColumnDefs": [  
  968.  968     { "bVisible"false"aTargets": [ 0 ] }  
  969.  969     ] } );  
  970.  970 } );  
  971.  971   
  972.  972   
  973.  973 // Using aoColumns  
  974.  974 $(document).ready(function() {  
  975.  975     $('#example').dataTable( {  
  976.  976         "aoColumns": [  
  977.  977     { "bVisible"false },  
  978.  978         null,  
  979.  979         null,  
  980.  980         null,  
  981.  981         null  
  982.  982         ] } );  
  983.  983 } );  
  984.  984   
  985.  985 /* 
  986.  986  * fnCreatedCell 
  987.  987  * 无默认值 
  988.  988  * 每当新的单元格被建立(Ajax源等)或者处理输入(DOM源)时,开发者可定义的函数会被调用 
  989.  989  * 该属性用作fnRender的补充来允许你修改在fnRender函数调用之后新建的DOM元素(例如增加背景颜色) 
  990.  990  */  
  991.  991 $(document).ready(function() {  
  992.  992     $('#example').dataTable( {  
  993.  993         "aoColumnDefs": [ {  
  994.  994             "aTargets": [3],  
  995.  995         "fnCreatedCell"function (nTd, sData, oData, iRow, iCol) {  
  996.  996             if ( sData == "1.7" ) {  
  997.  997                 $(nTd).css('color''blue')  
  998.  998             }  
  999.  999         }  
  1000. 1000         } ]  
  1001. 1001     });  
  1002. 1002 } );  
  1003. 1003   
  1004. 1004 /* 
  1005. 1005  * fnRender 
  1006. 1006  * 无默认值 
  1007. 1007  * 自定义列中每个单元格被展示的时候调用的展示函数 
  1008. 1008  */  
  1009. 1009 // Using aoColumnDefs  
  1010. 1010 $(document).ready(function() {  
  1011. 1011     $('#example').dataTable( {  
  1012. 1012         "aoColumnDefs": [  
  1013. 1013     {  
  1014. 1014         "fnRender"function ( o, val ) {  
  1015. 1015             return o.aData[0] +' '+ o.aData[3];  
  1016. 1016         },  
  1017. 1017         "aTargets": [ 0 ]  
  1018. 1018     }  
  1019. 1019     ]  
  1020. 1020     } );  
  1021. 1021 } );  
  1022. 1022   
  1023. 1023   
  1024. 1024 // Using aoColumns  
  1025. 1025 $(document).ready(function() {  
  1026. 1026     $('#example').dataTable( {  
  1027. 1027         "aoColumns": [  
  1028. 1028     { "fnRender"function ( o, val ) {  
  1029. 1029                                           return o.aData[0] +' '+ o.aData[3];  
  1030. 1030                                       } },  
  1031. 1031         null,  
  1032. 1032         null,  
  1033. 1033         null,  
  1034. 1034         null  
  1035. 1035         ]  
  1036. 1036     } );  
  1037. 1037 } );  
  1038. 1038   
  1039. 1039 /* 
  1040. 1040  * iDataSort 
  1041. 1041  * 默认值为-1,使用自动计算的列标 
  1042. 1042  * 当选择该列进行排序的时候,你希望调用排序操作的列的列号,该参数可以用来按隐藏列排序 
  1043. 1043  */  
  1044. 1044 // Using aoColumnDefs  
  1045. 1045 $(document).ready(function() {  
  1046. 1046     $('#example').dataTable( {  
  1047. 1047         "aoColumnDefs": [  
  1048. 1048     { "iDataSort": 1, "aTargets": [ 0 ] }  
  1049. 1049     ]  
  1050. 1050     } );  
  1051. 1051 } );  
  1052. 1052   
  1053. 1053 // Using aoColumns  
  1054. 1054 $(document).ready(function() {  
  1055. 1055     $('#example').dataTable( {  
  1056. 1056         "aoColumns": [  
  1057. 1057     { "iDataSort": 1 },  
  1058. 1058         null,  
  1059. 1059         null,  
  1060. 1060         null,  
  1061. 1061         null  
  1062. 1062         ]  
  1063. 1063     } );  
  1064. 1064 } );  
  1065. 1065   
  1066. 1066 /* 
  1067. 1067  * mDataProp 
  1068. 1068  * 默认为null,使用自动计算的列标 
  1069. 1069  * 该属性可以从任何JSON格式数据源读取属性,包括深层网状的对象和属性, 
  1070. 1070  * 有几种不同的传递方式可以影响mDataProp的行为 
  1071. 1071  * 整型:被当作数据源的数组下表,是DataTable使用的默认行为(每列递增) 
  1072. 1072  * 字符串类型:被当作从数据源获取的对象的属性名,注意你可以使用Javascript点号访问符去访问深层次的属性或数组 
  1073. 1073  * null:sDafaultContent选项会被使用到单元格上,(默认是空字符串,当生成可编辑列、可删除列的时候可以使用该属性) 
  1074. 1074  * 函数:当表格获取或者设置单元格时被调用的函数,函数有三个参数 
  1075. 1075  *      {array|object}:该行的数据源 
  1076. 1076  *      {string}:调用数据请求的类型,设置数据时是'set',收集数据时是'filter','display','type','sort' 
  1077. 1077  *      {*}:当第二个参数是set的时候,要被设置的数据 
  1078. 1078  *      当类型是'set'的时候,该函数不需要返回一个值,除此之外,返回值是可以用来请求数据的 
  1079. 1079  */  
  1080. 1080 // Read table data from objects  
  1081. 1081 $(document).ready(function() {  
  1082. 1082     var oTable = $('#example').dataTable( {  
  1083. 1083         "sAjaxSource""sources/deep.txt",  
  1084. 1084         "aoColumns": [  
  1085. 1085     { "mDataProp""engine" },  
  1086. 1086         { "mDataProp""browser" },  
  1087. 1087         { "mDataProp""platform.inner" },  
  1088. 1088         { "mDataProp""platform.details.0" },  
  1089. 1089         { "mDataProp""platform.details.1" }  
  1090. 1090     ]  
  1091. 1091     } );  
  1092. 1092 } );  
  1093. 1093   
  1094. 1094   
  1095. 1095 // Using mDataProp as a function to provide different information for  
  1096. 1096 // sorting, filtering and display. In this case, currency (price)  
  1097. 1097 $(document).ready(function() {  
  1098. 1098     var oTable = $('#example').dataTable( {  
  1099. 1099         "aoColumnDefs": [  
  1100. 1100     {  
  1101. 1101         "aTargets": [ 0 ],  
  1102. 1102         "mDataProp"function ( source, type, val ) {  
  1103. 1103             if (type === 'set') {  
  1104. 1104                 source.price = val;  
  1105. 1105                 // Store the computed dislay and filter values for efficiency  
  1106. 1106                 source.price_display = val=="" ? "" : "$"+numberFormat(val);  
  1107. 1107                 source.price_filter  = val=="" ? "" : "$"+numberFormat(val)+" "+val;  
  1108. 1108                 return;  
  1109. 1109             }  
  1110. 1110             else if (type === 'display') {  
  1111. 1111                 return source.price_display;  
  1112. 1112             }  
  1113. 1113             else if (type === 'filter') {  
  1114. 1114                 return source.price_filter;  
  1115. 1115             }  
  1116. 1116     // 'sort' and 'type' both just use the integer  
  1117. 1117     return source.price;  
  1118. 1118         }  
  1119. 1119     ]  
  1120. 1120     } );  
  1121. 1121     } );  
  1122. 1122   
  1123. 1123 /* 
  1124. 1124  * sClass 
  1125. 1125  * 默认值为空字符串 
  1126. 1126  * 该列的每一个单元格被赋予的class 
  1127. 1127  */  
  1128. 1128 // Using aoColumnDefs  
  1129. 1129 $(document).ready(function() {  
  1130. 1130     $('#example').dataTable( {  
  1131. 1131         "aoColumnDefs": [  
  1132. 1132     { "sClass""my_class""aTargets": [ 0 ] }  
  1133. 1133     ]  
  1134. 1134     } );  
  1135. 1135 } );  
  1136. 1136   
  1137. 1137 // Using aoColumns  
  1138. 1138 $(document).ready(function() {  
  1139. 1139     $('#example').dataTable( {  
  1140. 1140         "aoColumns": [  
  1141. 1141     { "sClass""my_class" },  
  1142. 1142         null,  
  1143. 1143         null,  
  1144. 1144         null,  
  1145. 1145         null  
  1146. 1146         ]  
  1147. 1147     } );  
  1148. 1148 } );  
  1149. 1149   
  1150. 1150 /* 
  1151. 1151  * sContentPadding 
  1152. 1152  * 默认值为空字符串 
  1153. 1153  * 当DataTable计算分配给每一列的列宽的时候,会寻找每一列中最长的字符串,然后构建一个临时表 
  1154. 1154  * 从临时表中读取宽度,这样带来的问题是'mmm'会比'iiii'的长度长很多,但是后者的长度要大 
  1155. 1155  * 这样计算值会出现偏差(正确的处理然后放入DOM对象再测量长度会相当的慢),我们提供了这个选项作为一个解决方法 
  1156. 1156  * 它会把他的值添加到该列最长的值的后面来计算列宽,通常你不需要该属性,该属性也没有被写到DataTables.net的文档中 
  1157. 1157  */  
  1158. 1158 // Using aoColumns  
  1159. 1159 $(document).ready(function() {  
  1160. 1160   $('#example').dataTable( {  
  1161. 1161     "aoColumns": [  
  1162. 1162       null,  
  1163. 1163       null,  
  1164. 1164       null,  
  1165. 1165       {  
  1166. 1166         "sContentPadding""mmm"  
  1167. 1167       }  
  1168. 1168     ]  
  1169. 1169   } );  
  1170. 1170 } );  
  1171. 1171   
  1172. 1172 /* 
  1173. 1173  * sDefaultContent 
  1174. 1174  * 默认为空字符串 
  1175. 1175  * 允许给列值一个默认值,只要发现null值就会显示默认值 
  1176. 1176  * 可以由mDataProp设置为null或者数据源是null引起 
  1177. 1177  */  
  1178. 1178 // Using aoColumnDefs  
  1179. 1179 $(document).ready(function() {  
  1180. 1180     $('#example').dataTable( {  
  1181. 1181         "aoColumnDefs": [  
  1182. 1182     {  
  1183. 1183         "mDataProp"null,  
  1184. 1184         "sDefaultContent""Edit",  
  1185. 1185         "aTargets": [ -1 ]  
  1186. 1186     }  
  1187. 1187     ]  
  1188. 1188     } );  
  1189. 1189 } );  
  1190. 1190   
  1191. 1191   
  1192. 1192 // Using aoColumns  
  1193. 1193 $(document).ready(function() {  
  1194. 1194     $('#example').dataTable( {  
  1195. 1195         "aoColumns": [  
  1196. 1196         null,  
  1197. 1197         null,  
  1198. 1198         null,  
  1199. 1199         {  
  1200. 1200             "mDataProp"null,  
  1201. 1201         "sDefaultContent""Edit"  
  1202. 1202         }  
  1203. 1203     ]  
  1204. 1204     } );  
  1205. 1205 } );  
  1206. 1206   
  1207. 1207 /* 
  1208. 1208  * sName 
  1209. 1209  * 默认值为空字符串 
  1210. 1210  * 该参数只有使用在服务器端处理的时候调用,在了解客户端展示了哪些列的时候十分有用 
  1211. 1211  * 然后与数据库字段建立映射,当被定义时,如果服务器端返回的信息的顺序不是期望的顺序,也可以使用名字去区分 
  1212. 1212  * 使用这种方式的好处是:用户在客户端交换了列,你的服务器端代码不用更新 
  1213. 1213  */  
  1214. 1214 // Using aoColumnDefs  
  1215. 1215 $(document).ready(function() {  
  1216. 1216     $('#example').dataTable( {  
  1217. 1217         "aoColumnDefs": [  
  1218. 1218     { "sName""engine""aTargets": [ 0 ] },  
  1219. 1219         { "sName""browser""aTargets": [ 1 ] },  
  1220. 1220         { "sName""platform""aTargets": [ 2 ] },  
  1221. 1221         { "sName""version""aTargets": [ 3 ] },  
  1222. 1222         { "sName""grade""aTargets": [ 4 ] }  
  1223. 1223     ]  
  1224. 1224     } );  
  1225. 1225 } );  
  1226. 1226   
  1227. 1227   
  1228. 1228 // Using aoColumns  
  1229. 1229 $(document).ready(function() {  
  1230. 1230     $('#example').dataTable( {  
  1231. 1231         "aoColumns": [  
  1232. 1232     { "sName""engine" },  
  1233. 1233         { "sName""browser" },  
  1234. 1234         { "sName""platform" },  
  1235. 1235         { "sName""version" },  
  1236. 1236         { "sName""grade" }  
  1237. 1237     ]  
  1238. 1238     } );  
  1239. 1239 } );  
  1240. 1240   
  1241. 1241 /* 
  1242. 1242  * sSortDataType 
  1243. 1243  * 默认值为std 
  1244. 1244  * 为排序操作定义可以用来在排序前读取实时表格信息(更新内部缓存版本)的数据源的类型 
  1245. 1245  * 允许排序事件发生在用户可编辑的元素上,例如输入框 
  1246. 1246  */  
  1247. 1247 // Using aoColumnDefs  
  1248. 1248 $(document).ready(function() {  
  1249. 1249     $('#example').dataTable( {  
  1250. 1250         "aoColumnDefs": [  
  1251. 1251     { "sSortDataType""dom-text""aTargets": [ 2, 3 ] },  
  1252. 1252         { "sType""numeric""aTargets": [ 3 ] },  
  1253. 1253         { "sSortDataType""dom-select""aTargets": [ 4 ] },  
  1254. 1254         { "sSortDataType""dom-checkbox""aTargets": [ 5 ] }  
  1255. 1255     ]  
  1256. 1256     } );  
  1257. 1257 } );  
  1258. 1258   
  1259. 1259   
  1260. 1260 // Using aoColumns  
  1261. 1261 $(document).ready(function() {  
  1262. 1262     $('#example').dataTable( {  
  1263. 1263         "aoColumns": [  
  1264. 1264         null,  
  1265. 1265         null,  
  1266. 1266         { "sSortDataType""dom-text" },  
  1267. 1267         { "sSortDataType""dom-text""sType""numeric" },  
  1268. 1268         { "sSortDataType""dom-select" },  
  1269. 1269         { "sSortDataType""dom-checkbox" }  
  1270. 1270     ]  
  1271. 1271     } );  
  1272. 1272 } );  
  1273. 1273   
  1274. 1274 /* 
  1275. 1275  * sTitle 
  1276. 1276  * 默认值为null,从TH标签读取 
  1277. 1277  * 列名 
  1278. 1278  */  
  1279. 1279 // Using aoColumnDefs  
  1280. 1280 $(document).ready(function() {  
  1281. 1281     $('#example').dataTable( {  
  1282. 1282         "aoColumnDefs": [  
  1283. 1283     { "sTitle""My column title""aTargets": [ 0 ] }  
  1284. 1284     ]  
  1285. 1285     } );  
  1286. 1286 } );  
  1287. 1287   
  1288. 1288   
  1289. 1289 // Using aoColumns  
  1290. 1290 $(document).ready(function() {  
  1291. 1291     $('#example').dataTable( {  
  1292. 1292         "aoColumns": [  
  1293. 1293     { "sTitle""My column title" },  
  1294. 1294         null,  
  1295. 1295         null,  
  1296. 1296         null,  
  1297. 1297         null  
  1298. 1298         ]  
  1299. 1299     } );  
  1300. 1300 } );  
  1301. 1301   
  1302. 1302 /* 
  1303. 1303  * sType 
  1304. 1304  * 默认值为null,从弱引用数据中自动判断 
  1305. 1305  * 允许你指定该列数据按什么类型来排序,目前有四种类型(字符串,数字,日期和html(在排序前会自动除去HTML标记))可选 
  1306. 1306  * 注意只有能够被Javascript的Date对象接受的格式化日期字符串才会被当作日期类型接受,例如"Mar 26, 2008 5:03 PM" 
  1307. 1307  * 默认是使用html类型,更多类型可以通过插件添加 
  1308. 1308  */  
  1309. 1309 // Using aoColumnDefs  
  1310. 1310 $(document).ready(function() {  
  1311. 1311     $('#example').dataTable( {  
  1312. 1312         "aoColumnDefs": [  
  1313. 1313     { "sType""html""aTargets": [ 0 ] }  
  1314. 1314     ]  
  1315. 1315     } );  
  1316. 1316 } );  
  1317. 1317   
  1318. 1318   
  1319. 1319 // Using aoColumns  
  1320. 1320 $(document).ready(function() {  
  1321. 1321     $('#example').dataTable( {  
  1322. 1322         "aoColumns": [  
  1323. 1323     { "sType""html" },  
  1324. 1324         null,  
  1325. 1325         null,  
  1326. 1326         null,  
  1327. 1327         null  
  1328. 1328         ]  
  1329. 1329     } );  
  1330. 1330 } );  
  1331. 1331   
  1332. 1332 /* 
  1333. 1333  * sWidth 
  1334. 1334  * 默认值为null,自动的 
  1335. 1335  * 定义列的宽度,该参数可以接受CSS定义(3em,20px等),DataTable对没有通过该接口指定宽度的列使用灵活宽度 
  1336. 1336  * 从而保证表格是可被读的 
  1337. 1337  */  
  1338. 1338 // Using aoColumnDefs  
  1339. 1339 $(document).ready(function() {  
  1340. 1340     $('#example').dataTable( {  
  1341. 1341         "aoColumnDefs": [  
  1342. 1342     { "sWidth""20%""aTargets": [ 0 ] }  
  1343. 1343     ]  
  1344. 1344     } );  
  1345. 1345 } );  
  1346. 1346   
  1347. 1347   
  1348. 1348 // Using aoColumns  
  1349. 1349 $(document).ready(function() {  
  1350. 1350     $('#example').dataTable( {  
  1351. 1351         "aoColumns": [  
  1352. 1352     { "sWidth""20%" },  
  1353. 1353         null,  
  1354. 1354         null,  
  1355. 1355         null,  
  1356. 1356         null  
  1357. 1357         ]  
  1358. 1358     } );  
  1359. 1359 } );  
  1360. 1360 /*------------------------------------------------ServerSide------------------------------------------------*/  
  1361. 1361 /* 
  1362. 1362  * bServerSide 
  1363. 1363  * 默认值false 
  1364. 1364  * 配置使用服务器端处理的DataTable,注意sAjaxSource参数必须指定,以便给DataTable一个获取每行数据的数据源 
  1365. 1365  */  
  1366. 1366 $(document).ready( function () {  
  1367. 1367     $('#example').dataTable( {  
  1368. 1368         "bServerSide"true,  
  1369. 1369         "sAjaxSource""xhr.php"  
  1370. 1370     } );  
  1371. 1371 } );  
  1372. 1372 /* 
  1373. 1373  * fnServerData 
  1374. 1374  * 无默认值 
  1375. 1375  * 你可以使用该参数重写从服务器获取数据的方法($.getJSON),从而使其更适合你的应用 
  1376. 1376  * 例如你可以使用POST方式提交,或者从Google Gears或者AIR数据库获取数据 
  1377. 1377  */  
  1378. 1378 // POST data to server  
  1379. 1379 $(document).ready(function() {  
  1380. 1380     $('#example').dataTable( {  
  1381. 1381         "bProcessing"true,  
  1382. 1382         "bServerSide"true,  
  1383. 1383         "sAjaxSource""xhr.php",  
  1384. 1384         "fnServerData"function ( sSource, aoData, fnCallback ) {  
  1385. 1385             $.ajax( {  
  1386. 1386                 "dataType"'json',  
  1387. 1387             "type""POST",  
  1388. 1388             "url": sSource,  
  1389. 1389             "data": aoData,  
  1390. 1390             "success": fnCallback  
  1391. 1391             } );  
  1392. 1392         }  
  1393. 1393     } );  
  1394. 1394 } );  
  1395. 1395 /* 
  1396. 1396  * fnServerParams 
  1397. 1397  * 无默认值 
  1398. 1398  * 用来在向服务器发送Ajax请求时发送额外的数据,例如自定义的过滤信息,该函数使向服务器发送额外参数变得简单 
  1399. 1399  * 传递进来的参数是DataTable建立的数据集合,你可以根据需要添加或者修改该集合 
  1400. 1400  */  
  1401. 1401 $(document).ready(function() {  
  1402. 1402     $('#example').dataTable( {  
  1403. 1403         "bProcessing"true,  
  1404. 1404         "bServerSide"true,  
  1405. 1405         "sAjaxSource""scripts/server_processing.php",  
  1406. 1406         "fnServerParams"function ( aoData ) {  
  1407. 1407             aoData.push( { "name""more_data""value""my_value" } );  
  1408. 1408         }  
  1409. 1409     } );  
  1410. 1410 } );  
  1411. 1411 /* 
  1412. 1412  * sAjaxDataProp 
  1413. 1413  * 默认为aaData 
  1414. 1414  * 当使用Ajax数据源或者服务器端处理的时候,DataTable会默认搜索aaData属性作为数据源 
  1415. 1415  * 该选项允许变更数据源的名称,你可以使用JavaScript的点号对象表示法去访问多级网状数据源 
  1416. 1416  */  
  1417. 1417 // Get data from { "data": [...] }  
  1418. 1418 $(document).ready(function() {  
  1419. 1419     var oTable = $('#example').dataTable( {  
  1420. 1420         "sAjaxSource""sources/data.txt",  
  1421. 1421         "sAjaxDataProp""data"  
  1422. 1422     } );  
  1423. 1423 } );  
  1424. 1424   
  1425. 1425   
  1426. 1426 // Get data from { "data": { "inner": [...] } }  
  1427. 1427 $(document).ready(function() {  
  1428. 1428     var oTable = $('#example').dataTable( {  
  1429. 1429         "sAjaxSource""sources/data.txt",  
  1430. 1430         "sAjaxDataProp""data.inner"  
  1431. 1431     } );  
  1432. 1432 } );  
  1433. 1433 /* 
  1434. 1434  * sAjaxSource 
  1435. 1435  * 默认为null 
  1436. 1436  * 该参数用来向DataTable指定加载的外部数据源(如果想使用现有的数据,请使用aData) 
  1437. 1437  * 可以简单的提供一个可以用来获得数据url或者JSON对象,该对象必须包含aaData,作为表格的数据源 
  1438. 1438  */  
  1439. 1439 $(document).ready(function(){  
  1440. 1440   $('#example').dataTable( {  
  1441. 1441     "sAjaxSource""http://www.sprymedia.co.uk/dataTables/json.php"  
  1442. 1442   });  
  1443. 1443 })  
  1444. 1444 /* 
  1445. 1445  * sServerMethod 
  1446. 1446  * 默认值为GET 
  1447. 1447  * 设置使用Ajax方式调用的服务器端的处理方法或者Ajax数据源的HTTP请求方式 
  1448. 1448  */  
  1449. 1449 $(document).ready(function(){  
  1450. 1450     $('#example').dataTable({  
  1451. 1451         "bServerSide"true,  
  1452. 1452         "sAjaxSource""scripts/post.php",  
  1453. 1453         "sServerMethod""POST"  
  1454. 1454     });  
  1455. 1455 }); 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值