• Datatables中文API——回调函数


    fnCookieCallback:还没有使用过

    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "fnCookieCallback": function (sName, oData, sExpires, sPath) {
    
                // Customise oData or sName or whatever else here
    
                return sName + "=" + JSON.stringify(oData) + "; expires=" + sExpires + "; path=" + sPath;
    
            }
    
        });
    
    });

    fnCreatedRow:顾名思义,创建行得时候的回调函数

    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "fnCreatedRow": function (nRow, aData, iDataIndex) {
    
                // 为a的话字体加粗
    
                if (aData[4] == "A") {
    
                    $('td:eq(4)', nRow).html('<b>A</b>');
    
                }
    
            }
    
        });
    
    });

    fnDrawCallback:draw画 ,这个应该是重绘的回调函数

    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "fnDrawCallback": function (oSettings) {
    
                alert('DataTables 重绘了');
    
            }
    
        });
    
    });

    fnFooterCallback:底部的回调函数,这个可以用来做总计之类的功能

    $(document).ready(function() {
    
        $('#example').dataTable({
            "fnFooterCallback": function(nFoot, aData, iStart, iEnd, aiDisplay) {
    
                nFoot.getElementsByTagName('th')[0].innerHTML = "Starting index is " + iStart;
    
            }
        });
    
    });

    fnFormatNumber:顾名思义,格式化数字的显示方式

    $(document).ready(function () {
    
        $('#example').dataTable({
            "fnFormatNumber": function (iIn) {
                if (iIn < 1000) {
                    return iIn;
                } else {
                    var s = (iIn + ""),
                    a = s.split(""), out = "",
                    iLen = s.length;
                    for (var i = 0; i < iLen; i++) {
                        if (i % 3 === 0 && i !== 0) {
                            out = "'" + out;
                        }
                        out = a[iLen - i - 1] + out;
                    }
                }
                return out;
            }
        });
    });

    fnHeaderCallback:表头的回调函数

    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "fnHeaderCallback": function (nHead, aData, iStart, iEnd, aiDisplay) {
    
                nHead.getElementsByTagName('th')[0].innerHTML = "Displaying " + (iEnd - iStart) + " records";
    
            }
    
        });
    
    })

    fnInfoCallback:datatables信息的回调函数

    $('#example').dataTable({
    
        "fnInfoCallback": function (oSettings, iStart, iEnd, iMax, iTotal, sPre) {
    
            return iStart + " to " + iEnd;
    
        }
    
    });

    fnInitComplete:datatables初始化完毕后会调用这个方法

    $(document).ready(function () {
    
        $('#example').dataTable({
            "fnInitComplete": function (oSettings, json) {
    
                alert('DataTables has finished its initialisation.');
    
            }
        });
    
    });

    fnPreDrawCallback:每一次绘datatables时候调用的方法

    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "fnPreDrawCallback": function (oSettings) {
    
                if ($('#test').val() == 1) {
    
                    return false;
    
                }
    
            }
    
        });
    
    });

    fnRowCallback:行的回调函数

    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
    
                // Bold the grade for all 'A' grade browsers
    
                if (aData[4] == "A") {
    
                    $('td:eq(4)', nRow).html('<b>A</b>');
    
                }
    
            }
    
        });
    
    });

    fnServerData:这个是结合服务器模式的回调函数,用来处理服务器返回过来的数据

    // POST data to server
    
    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "bProcessing": true,
    
            "bServerSide": true,
    
            "sAjaxSource": "xhr.php",
    
            "fnServerData": function (sSource, aoData, fnCallback, oSettings) {
    
                oSettings.jqXHR = $.ajax({
    
                    "dataType": 'json',
    
                    "type": "POST",
    
                    "url": sSource,
    
                    "data": aoData,
    
                    "success": fnCallback
    
                });
    
            }
    
        });
    
    });

    fnServerParams:向服务器传额外的参数

    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "bProcessing": true,
    
            "bServerSide": true,
    
            "sAjaxSource": "scripts/server_processing.php",
    
            "fnServerParams": function (aoData) {
    
                aoData.push({ "name": "more_data", "value": "my_value" });
    
            }
    
        });
    
    });

    fnStateLoad:读取状态的回调函数

    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "bStateSave": true,
    
            "fnStateLoad": function (oSettings) {
    
                var o;
    
    
                // Send an Ajax request to the server to get the data. Note that
    
                // this is a synchronous request.
    
                $.ajax({
    
                    "url": "/state_load",
    
                    "async": false,
    
                    "dataType": "json",
    
                    "success": function (json) {
    
                        o = json;
    
                    }
    
                });
    
    
                return o;
    
            }
    
        });
    
    });

    fnStateLoadParams:和上面的不知道什么区别,没用过

    // Remove a saved filter, so filtering is never loaded
    
    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "bStateSave": true,
    
            "fnStateLoadParams": function (oSettings, oData) {
    
                oData.oSearch.sSearch = "";
    
            }
    
        });
    
    });
    
    
    
    // Disallow state loading by returning false
    
    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "bStateSave": true,
    
            "fnStateLoadParams": function (oSettings, oData) {
    
                return false;
    
            }
    
        });
    
    });

    fnStateLoaded:又是这个,加了ed 不知道意思没用过

    // Show an alert with the filtering value that was saved
    
    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "bStateSave": true,
    
            "fnStateLoaded": function (oSettings, oData) {
    
                alert('Saved filter was: ' + oData.oSearch.sSearch);
    
            }
    
        });
    
    });

    fnStateSave:状态储存

    $(document).ready( function() {
    
        $('#example').dataTable({
            "bStateSave": true,
    
            "fnStateSave": function(oSettings, oData) {
    
    // Send an Ajax request to the server with the state object
    
                $.ajax({
                    "url": "/state_save",
    
                    "data": oData,
    
                    "dataType": "json",
    
                    "method": "POST"
    
                    "success": function () {
                }
    
            });
        };
    
    } );
    
    } );

    fnStateSaveParams :状态储存参数,没用过,不明白

    // Remove a saved filter, so filtering is never saved
    
    $(document).ready(function () {
    
        $('#example').dataTable({
    
            "bStateSave": true,
    
            "fnStateSaveParams": function (oSettings, oData) {
    
                oData.oSearch.sSearch = "";
    
            }
    
        });
    
    });
  • 相关阅读:
    2017年8月27日 星期日 --出埃及记 Exodus 29:6
    2017年8月26日 星期六 --出埃及记 Exodus 29:5
    2017年8月25日 星期五 --出埃及记 Exodus 29:4
    2017年8月24日 星期四 --出埃及记 Exodus 29:3
    2017年8月23日 星期三 --出埃及记 Exodus 29:2
    2017年8月22日 星期二 --出埃及记 Exodus 29:1
    2016年12月总结
    2016年11月总结
    2016年10月总结
    项目风险说明
  • 原文地址:https://www.cnblogs.com/zhangwei595806165/p/3701463.html
Copyright © 2020-2023  润新知