Datatables——回調函數
-------------------------------------------------
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 = "";
}
});
});